mybatisplus怎样给自定义的sql查询方法添加分页
时间: 2024-10-13 10:11:01 浏览: 35
MyBatis-Plus 分页查询以及自定义sql分页的实现
4星 · 用户满意度95%
MyBatisPlus是一个基于MyBatis的ORM框架增强工具,它简化了数据访问层的编写。如果你想要给自定义SQL查询添加分页功能,可以按照以下步骤操作:
1. 首先,你需要创建一个包含分页信息的参数类,比如`PageQuery`,其中包含当前页数、每页大小以及排序等属性。
```java
public class PageQuery {
private Integer pageNum; // 当前页码
private Integer pageSize; // 每页记录数
private String orderColumn; // 排序字段
private String orderDirection; // 排序方向(asc/desc)
// 添加getter和setter方法
}
```
2. 然后,在你的Service或者Repository接口中,定义一个带接收`PageQuery`参数的泛型方法,例如:
```java
public interface UserMapper {
List<User> selectListByPage(PageQuery pageQuery); // 自定义的SQL查询并加上分页
}
```
3. 在对应的Mapper XML文件中,编写自定义SQL查询,并结合`PageHelper`来处理分页。例如:
```xml
<select id="selectListByPage" resultType="com.example.User">
SELECT * FROM user_table
<if test="orderColumn != null and orderDirection != null">
ORDER BY ${orderColumn} ${orderDirection}
</if>
LIMIT #{pageNum, type=offset}, #{pageSize}
</select>
```
4. 最后,调用这个方法时传入`PageQuery`实例:
```java
PageQuery pageQuery = new PageQuery();
pageQuery.setPageNum(1);
pageQuery.setPageSize(10);
List<User> userList = userMapper.selectListByPage(pageQuery);
```
阅读全文