spring boot mybatis 分页
时间: 2023-04-25 12:06:13 浏览: 153
Spring Boot 集成 Mybatis 时,可以使用 Mybatis 的分页插件来实现分页功能。 Mybatis 的分页插件通常使用 PageHelper 来实现。在配置文件中添加 PageHelper 的配置,在 Dao 层的方法上添加分页参数即可实现分页。
相关问题
spring boot mybatis面试题
1. Spring Boot和MyBatis有什么区别?
2. Spring Boot如何集成MyBatis?
3. MyBatis中的Mapper是什么?
4. MyBatis如何实现动态SQL?
5. MyBatis中如何配置二级缓存?
6. MyBatis中如何使用分页插件?
7. MyBatis中如何使用通用Mapper?
8. Spring Boot中如何配置MyBatis全局配置?
9. MyBatis中如何使用多数据源?
10. 在MyBatis中如何使用存储过程和触发器?
spring boot mybatis plus 分页查询 并且返回总数
在Spring Boot中使用MyBatis Plus进行分页查询时,通常会涉及到`Page`对象,这是一个封装了数据和分页信息的容器。如果你想同时获取总数,可以在查询的时候加上统计条件,然后在服务层处理这个统计结果。
以下是基本步骤:
1. 首先,在Mapper接口中编写一个带统计参数的通用查询方法:
```java
List<T> list(@Param("params") Map<String, Object> params, Integer pageNum, Integer pageSize);
```
这里的`params`参数包含了实际的查询条件,`pageNum`和`pageSize`分别代表当前页码和每页的数量。
2. 然后,在Service层调用Mapper方法,并传递额外的参数来获取总数:
```java
Map<String, Object> queryParams = new HashMap<>();
queryParams.put("your_conditions", ...); // 查询条件
Integer totalCount = yourMapper.getTotalCount(queryParams); // 这里调用的是自定义的统计方法
Page<T> page = yourMapper.list(queryParams, pageRequest.getPage(), pageRequest.getPageSize());
// 返回包含数据列表和总记录数的对象,如Page<T>
return new Page<>(page.getCurrent(), page.getSize(), totalCount, page.getRecords());
```
其中,`getTotalCount`方法通常是一个静态方法,它会执行一个无数据的分页查询,只计算满足条件的总记录数。
3. 最后,在Controller层返回结果:
```java
@GetMapping("/list")
public ResultVo<List<T>, Integer> getPageData(@RequestBody PageRequest pageRequest) {
ResultVo<List<T>, Integer> result = service.getPageData(pageRequest);
return result;
}
```
阅读全文