mybatis-plus结合pageHelper使用
- 1.在pom.xml文件中添加依赖
- 2.在application.yml中添加配置
- 3.插件配置
- 4.使用pageHelper
1.在pom.xml文件中添加依赖
<!-- mybatis-plus依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<!-- 分页插件pageHelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.1</version>
</dependency>
通过测试发现,mybatis-plus-boot-starter、pagehelper大于上述版本的也是可以的
比如
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5</version>
</dependency>
<!--分页控件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.3</version>
</dependency>
2.在application.yml中添加配置
注意pagehelper是spring的子参数
mybatis-plus与spring同级
server:
port: 8080
spring:
main:
allow-circular-references: true
datasource:
url: jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC&characterEncoding=utf8
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
pagehelper:
helper-dialect: mysql # 指定数据库方言
reasonable: true # 合理化分页参数设置
support-methods-arguments: true # 支持通过Mapper接口方法参数来传递分页参数
params: count=countSql # 支持通过POJO或Map中的countSql属性来指定count查询
mybatis-plus:
type-aliases-package: com.xhd.authSystem.pojo
mapper-locations: classpath:mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
3.插件配置
package com.xhd.authSystem.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.github.pagehelper.PageInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Properties;
/**
* 分页插件配置,不配置的话分页效果不起效
*/
@Configuration
public class MybatisPlusConfig {
/**
* MybatisPlus分页插件
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return mybatisPlusInterceptor;
}
/**
* PageHelper分页插件
* */
@Bean
PageInterceptor pageInterceptor() {
PageInterceptor pageInterceptor = new PageInterceptor();
Properties properties = new Properties();
properties.setProperty("helperDialect", "mysql");
pageInterceptor.setProperties(properties);
return pageInterceptor;
}
}
4.使用pageHelper
PageHelper.startPage
的下一行代码需要是执行sql的操作
//分页处理
PageHelper.startPage(pageNum,pageSize);
//查询分组信息
List<Fund> list = fundMapper.getFundList(fund);
//获取分页信息
PageInfo<Fund> infoList = new PageInfo<>(list);
return infoList;
参考链接:https://www.cnblogs.com/huxiaoan1/p/18137999