1、引入分页的依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.0</version>
</dependency>
2、在启动类中加入配置
//配置mybatis的分页插件pageHelper
@Bean
public PageHelper pageHelper(){
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum","true");
properties.setProperty("rowBoundsWithCount","true");
properties.setProperty("reasonable","true");
properties.setProperty("dialect","mysql"); //配置mysql数据库的方言
pageHelper.setProperties(properties);
return pageHelper;
}
3、在application.properties中添加
#分页
pagehelper.helper-dialect: mysql
pagehelper.reasonable: true
pagehelper.support-methods-arguments: true
pagehelper.params: count=countSql
4、dao service serviceImpl controller层分别为(PageInfo是插件的)
// dao
List<User> listByPage();
// service
PageInfo listByPage(Integer pageNumber, Integer pageSize);
// serviceImpl
@Override
public PageInfo listByPage(Integer pageNumber, Integer pageSize) {
PageHelper.startPage(pageNumber, pageSize);
List<User> list = userMapper.listByPage();
PageInfo pageInfo = new PageInfo(list);
return pageInfo;
}
// controller
@RequestMapping("/listByPage")
public Map<String,Object> listByPage(Integer pageNumber, Integer pageSize){
Map<String, Object> res = new HashMap<String, Object>();
PageInfo pageInfo = userServiceImpl.listByPage(pageNumber, pageSize);
res.put("list", pageInfo.getList());
res.put("code","200");
res.put("msg","操作成功");
return res;
}
// mapper.xml中
<select id="listByPage" resultType="User">
select * from user
</select>