mybatis-plus 自定义分页
时间: 2023-09-20 22:11:13 浏览: 101
Mybatis Plus 自定义方法实现分页功能的示例代码
MyBatis-Plus 提供了一种基于插件的方式自定义分页逻辑。下面是一个简单的示例。
首先,定义一个分页插件:
```
public class CustomPaginationInterceptor extends PaginationInterceptor {
@Override
public void handlePage(Page page, BoundSql boundSql) {
// 自定义分页逻辑
// ...
super.handlePage(page, boundSql);
}
}
```
然后在 MyBatis 的配置文件中配置该插件:
```
<plugins>
<plugin interceptor="com.example.CustomPaginationInterceptor">
<!-- 自定义分页插件配置 -->
<!-- ... -->
</plugin>
</plugins>
```
在 Mapper 接口中使用自定义分页:
```
@Select("SELECT * FROM user WHERE age > #{age}")
List<User> selectByAge(Page<User> page, @Param("age") int age);
```
在 Service 中调用 Mapper 接口方法并传入自定义分页参数:
```
Page<User> page = new Page<>(1, 10);
List<User> userList = userService.selectByAge(page, 18);
```
这样就可以自定义分页逻辑了。需要注意的是,在自定义分页逻辑中,需要根据传入的 Page 对象设置分页参数(如当前页码、每页记录数、总记录数等),并将 SQL 语句中的 LIMIT/OFFSET 语句进行修改。
阅读全文