提交 2246f3a9 编写于 作者: Q qinxiaodong@pannk.com

集成druid

上级 d933ea83
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>springboot-demo</artifactId>
<groupId>com.pannk</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>integrate-druid</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.pannk.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Created by wolf on 20-11-10.
*/
@MapperScan("com.pannk.demo.mapper")
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
package com.pannk.demo.config;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Created by wolf on 20-11-10.
*/
@Configuration
public class MyBatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
// paginationInterceptor.setLimit(500);
// 开启 count 的 join 优化,只针对部分 left join
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}
}
package com.pannk.demo.controller;
import lombok.Data;
import java.util.HashMap;
/**
* Created by wolf on 20-11-9.
*/
@Data
public class Result extends HashMap<String, Object> {
private Result() {
put("code", 0);
put("msg", "执行成功");
}
public static Result success() {
Result result = new Result();
return result;
}
public static Result fail() {
Result result = new Result();
result.put("code", 1);
result.put("msg", "执行失败");
return result;
}
public static Result success(Object data) {
Result result = success();
result.put("data", data);
return result;
}
}
package com.pannk.demo.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pannk.demo.entity.SysUserEntity;
import com.pannk.demo.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by wolf on 20-11-10.
*/
@RestController
@RequestMapping("/sys/user")
public class SysUserController {
@Autowired
private SysUserService sysUserService;
/**
* 列表查询
*
* @return
*/
@GetMapping("/list")
public Result list() {
return Result.success(sysUserService.list());
}
/**
* 分页查询
*
* @return
*/
@GetMapping("/page")
public Result page(int currPage,int pageSize) {
IPage<SysUserEntity> page = new Page<>(currPage,pageSize);
page = sysUserService.page(page,null);
return Result.success(page);
}
}
package com.pannk.demo.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* Created by wolf on 20-11-10.
*/
@Data
@TableName("sys_user")
public class SysUserEntity {
@TableId
private Long id;
private String userName;
private String password;
private String code;
private Date createDate;
private Long createId;
private Date updateDate;
private Long updateId;
}
package com.pannk.demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pannk.demo.entity.SysUserEntity;
/**
* Created by wolf on 20-11-10.
*/
public interface SysUserMapper extends BaseMapper<SysUserEntity> {
}
package com.pannk.demo.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pannk.demo.entity.SysUserEntity;
/**
* Created by wolf on 20-11-10.
*/
public interface SysUserService extends IService<SysUserEntity>{
}
package com.pannk.demo.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pannk.demo.entity.SysUserEntity;
import com.pannk.demo.mapper.SysUserMapper;
import com.pannk.demo.service.SysUserService;
import org.springframework.stereotype.Service;
/**
* Created by wolf on 20-11-10.
*/
@Service
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity> implements SysUserService {
}
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot2-demo?userUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
username: root
password: 123456
initial-size: 10
max-active: 100
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
test-while-idle: true
test-on-borrow: false
test-on-return: false
stat-view-servlet:
enabled: true
url-pattern: /druid/*
filter:
stat:
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
\ No newline at end of file
spring:
profiles:
active: dev
main:
banner-mode: off
server:
# port: 8888 # HTTP端口号
address: #绑定的网络地址
servlet:
context-path: / # 上下文路径,即项目访问路径
mybatis-plus:
mapper-locations: classpath*:/mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pannk.demo.mapper.SysUserMapper">
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pannk.demo.mapper.SysUserMapper">
<resultMap id="SysUserEntity" type="com.pannk.demo.entity.SysUserEntity">
<mapper namespace="com.pannk.SysUserMapper">
<resultMap id="SysUserEntity" type="com.pannk.SysUserEntity">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="user_name" property="userName" jdbcType="VARCHAR"/>
<result column="password" property="password" jdbcType="VARCHAR"/>
......@@ -9,7 +9,7 @@
<result column="create_date" property="createDate" jdbcType="TIMESTAMP"/>
<result column="create_id" property="createId" jdbcType="BIGINT"/>
</resultMap>
<insert id="save" useGeneratedKeys="true" parameterType="com.pannk.demo.entity.SysUserEntity" keyProperty="id" keyColumn="id">
<insert id="save" useGeneratedKeys="true" parameterType="com.pannk.SysUserEntity" keyProperty="id" keyColumn="id">
INSERT INTO sys_user (user_name,password,code,create_date,create_id)
VALUES
(
......@@ -29,16 +29,16 @@
#{id}
</foreach>
</delete>
<select id="list" resultType="com.pannk.demo.entity.SysUserEntity">
<select id="list" resultType="com.pannk.SysUserEntity">
SELECT * FROM sys_user
</select>
<select id="page" parameterType="map" resultType="com.pannk.demo.entity.SysUserEntity">
<select id="page" parameterType="map" resultType="com.pannk.SysUserEntity">
SELECT * FROM sys_user limit #{limit},#{pageSize}
</select>
<select id="count" resultType="java.lang.Integer">
SELECT COUNT(1) FROM sys_user
</select>
<update id="update" parameterType="com.pannk.demo.entity.SysUserEntity">
<update id="update" parameterType="com.pannk.SysUserEntity">
UPDATE sys_user SET user_name=#{userName,jdbcType=VARCHAR},password=#{password,jdbcType=VARCHAR}
WHERE id=#{id,jdbcType=NUMERIC}
</update>
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pannk.demo.mapper.SysUserMapper">
<mapper namespace="com.pannk.SysUserMapper">
</mapper>
\ No newline at end of file
......@@ -17,7 +17,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<mysql.version>5.1.49</mysql.version>
<druid.version>1.1.13</druid.version>
<druid.version>1.2.3</druid.version>
<shiro.version>1.4.0</shiro.version>
<fastjson.version>1.2.73</fastjson.version>
<swagger.version>2.7.0</swagger.version>
......
......@@ -15,6 +15,7 @@
<module>integrate-mybatis</module>
<module>integrate-mybatisplus</module>
<module>testing</module>
<module>integrate-druid</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册