springboot实现mybatis分页(PageHelper分页插件)
- 添加pom依赖
<!--加入分页依赖-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
- 在springboot配置文件(applicable.yml)中声明插件
#pagehelper分页插件配置
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
- 业务代码中使用
- controller层
@RequestMapping("getUser")
@ResponseBody
public Object getUser(User user, Integer page, Integer limit) {
PageInfo pageInfo = commentService.getUserList(user, page, limit);
Map<String, Object> data = new HashMap<String, Object>();
data.put("code", 0);
data.put("msg", "");
//将全部数据的条数作为count传给前台(一共多少条)
data.put("count", pageInfo.getTotal());
//将分页后的数据返回(每页要显示的数据)
data.put("data", pageInfo.getList());
return data;
}
-
Service接口
-
ServiceImpl实现类
@Override
public PageInfo getUserList(User user, Integer page, Integer limit) {
//开启分页,下面紧跟查询语句(查询全部数据)
PageHelper.startPage(page, limit);
List<User> list = commentMapper.getUserList(user);
//进行分页
PageInfo pageInfo = new PageInfo(list);
return pageInfo;
}
- Mapper接口
List<User> getUserList(User user);
- Mapper.xml
不需要limit,查询全部即可
<select id="getUserList" resultType="com.system.dto.User">
SELECT * FROM tb_comment
</select>