mybatis plus 自定义分页
时间: 2024-08-12 12:04:40 浏览: 47
MyBatis Plus是一个基于MyBatis的ORM框架增强工具,它简化了数据库操作,包括自定义分页。在MyBatis Plus中,你可以通过扩展`PageHelper`来实现自定义的分页逻辑。以下是如何使用它的步骤:
1. **引入依赖**:首先需要添加MyBatis Plus的分页插件依赖到你的项目中。
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.x.x</version> <!-- 更新到最新版本 -->
</dependency>
```
2. **创建自定义分页拦截器**:创建一个实现`IPageInterceptor`接口的类,这个类会在查询数据前对分页信息进行处理。
```java
public class CustomPageInterceptor implements IPageInterceptor {
// ... 实现方法,如 before、doIntercept 和 after 等
@Override
public void doIntercept(IPage<T> page, Model model, Object parameter, Map<String, Object> extras) {
// 这里可以根据需求修改分页逻辑,比如设置分页大小、偏移量等
// 示例:设置每页显示50条记录
page.setLimit(50);
}
// 其他方法...
}
```
3. **注册拦截器**:在配置文件中注册你的自定义分页拦截器,让它生效。
```java
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(sqlConfigSource);
Configuration configuration = sqlSessionFactory.getConfiguration();
configuration.addInterceptor(new CustomPageInterceptor());
```
4. **使用分页查询**:在Repository或者Service层中,使用`BaseMapper`提供的`selectPage`方法进行分页查询。
```java
List<User> users = userMapper.selectPage(page, params); // page 是 Page对象,params 是查询条件
```
阅读全文