SpringBoot Mybatis 分页有两种方式,比较相似,具体如下:
方式一:使用原生的PageHelper
1、在pom.xml中引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.3</version>
</dependency>
2、新增MybatisConfig
@Configuration
public class MybatisConfig {
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("dialect", "Mysql");
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
pageHelper.setProperties(p);
return pageHelper;
}
}
方式二、使用PageHelper的starter
1、在pom.xml中引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
2、在application.properties配置pagehelper的属性
# 插件配置 pagehelper
# 数据库连接类型
pagehelper.helperDialect=mysql
# 分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页
pagehelper.reasonable=true
# 支持通过 Mapper 接口参数来传递分页参数
pagehelper.supportMethodsArguments=true
使用方法
1、mapper.xml,获取全部数据,不带任何参数等
<select id="selectAll" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from user
</select>
2、分页使用
@Override
public PageInfo<User> getListUser(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);//关键 启用分页
List<User> userList =userMapper.selectAll();
PageInfo<User> pageInfo = new PageInfo<User>(userList);
return pageInfo;
}
注:两种方法不要混在一起使用,选一种即可,否则会出现混乱