Spring Boot+MyBatis+分页插件+MyBatisPlus+logback

Spring Boot+MyBatis+分页插件+MyBatisPlus+logback

  1. 整合Spring Boot +MyBatis

  1)使用idea中的Spring Initializer创建Spring Boot 项目

   Spring Boot+MyBatis+分页插件+MyBatisPlus+logback

(2)加入数据源Druid的依赖,pom文件配置如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

(3)创建数据库

CREATE TABLE user (

user_id int PRIMARY KEY AUTO_INCREMENT,

user_name varchar(255),

sex varchar(255)

)ENGINE=InnoDB CHARSET=utf8mb4;

 

(4)application.yml配置

server:
 
port: 80

# Spring Boot 的数据源配置
spring:
 
datasource:
   
name: crm
   
url: jdbc:mysql://localhost:3306/cjy-user?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
   
username: root
   
password: root
   
# 使用druid数据源
   
type: com.alibaba.druid.pool.DruidDataSource
   
driver-class-name: com.mysql.jdbc.Driver
   
filters: stat
   
maxActive: 20
   
initialSize: 1
   
maxWait: 60000
   
minIdle: 1
   
timeBetweenEvictionRunsMillis: 60000
   
minEvictableIdleTimeMillis: 300000
   
validationQuery: select 'x'
   
testWhileIdle: true
   
testOnBorrow: false
   
testOnReturn: false
   
poolPreparedStatements: true
   
maxPoolPreparedStatementPerConnectionSize: 20
   
maxOpenPreparedStatements: 20

# Mybatis的配置
mybatis:
 
#指定mybatis映射文件xml的位置是在resources/mapping/下
 
mapper-locations: classpath:mapping/*.xml
 
# 指定实体类的包
 
type-aliases-package: com.cjy.testpaging.entity

 

(5)对Mapper接口的方法进行Junit测试,按alt+insert键

Spring Boot+MyBatis+分页插件+MyBatisPlus+logback

(6)测试类的代码

Spring Boot+MyBatis+分页插件+MyBatisPlus+logback

2. 分页pageHelper插件

<!-- pagehelper 分页插件 -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.5</version>
</dependency>

(2)在application.yml中设置插件

# PageHelper分页插件
pagehelper:
 
helperDialect: mysql
 
reasonable: true
 
supportMethodsArguments: true
 
params: count=countSql

(3)使用插件的api,这一步一般在service层,这里我们在Junit中测试

Spring Boot+MyBatis+分页插件+MyBatisPlus+logback

(4)在控制器中返回分页数据

Spring Boot+MyBatis+分页插件+MyBatisPlus+logback

(5)主程序需要使用@MapperScan注解扫描Mapper包,否则运行

Spring Boot+MyBatis+分页插件+MyBatisPlus+logback\

测试效果:

Spring Boot+MyBatis+分页插件+MyBatisPlus+logback