mybatis-plus 自定义sql 分页
时间: 2024-11-27 22:14:45 浏览: 1
MyBatis-Plus是一个基于MyBatis的简化整合工具,它提供了一种更便捷的方式来操作数据库,包括自定义SQL分页。在MyBatis-Plus中,如果你需要自定义SQL来进行分页查询,通常会通过`PageHelper`这个工具类来实现。以下是步骤:
1. **创建动态SQL**:
首先,你需要编写包含分页条件的动态SQL语句,比如指定偏移量和限制数量。
```java
String sql = "SELECT * FROM table_name WHERE condition LIMIT #{offset}, #{limit}";
```
2. **设置分页参数**:
使用`PageHelper.startPage()`方法设置起始页码(默认0)和每页大小,然后传递到你的查询方法中。
```java
PageHelper.startPage(pageNum, pageSize);
List结果 = repository.customFindBySql(sql);
```
这里的`pageNum`是页数,`pageSize`是每页显示的记录数。
3. **获取数据和总记录数**:
`customFindBySql()`方法返回的结果列表包含了实际的数据,而你可以从`PageHelper`对象中获取总记录数,如`PageHelper.getCurrentTotal()`
```java
int totalCount = PageHelper.getCurrentTotal();
```
4. **处理分页结果**:
通常你会对数据进行进一步的操作,然后可以将结果和总记录数返回给前端展示。
注意,虽然这种方式可以实现自定义分页,但为了保证性能和减少代码复杂度,MyBatis-Plus还推荐使用其内置的DML API来进行分页查询,如`queryPage()`方法。
阅读全文