mybatisplus分页插件详解
时间: 2025-01-03 12:34:09 浏览: 10
### MyBatisPlus 分页插件使用教程与配置详解
#### 一、引入依赖
为了使用MyBatisPlus分页插件,在项目的`pom.xml`文件中需加入对应的依赖。这里 `<version>` 应替换为最新版本号[^1]。
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>{latest-version}</version>
</dependency>
```
#### 二、配置分页插件
在Spring Boot项目中的配置类里注册分页拦截器,通过实现`Interceptor`接口并重写相应方法来完成自定义逻辑处理。对于简单的应用来说可以直接创建一个新的Bean实例即可满足需求。
```java
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
```
#### 三、编写Mapper接口
当完成了上述准备工作之后就可以按照常规方式去书写自己的Mapper映射文件了。需要注意的是如果想要启用物理删除功能还需要额外设置其他参数选项。
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 自动支持分页查询的方法签名
IPage<User> selectPageVo(Page<User> page);
}
```
#### 四、服务层调用
最后一步就是在Service业务逻辑层里面调用已经准备好的DAO操作函数来进行数据访问工作。此时只需传入合适的Page对象作为参数就能轻松获取到经过分页后的结果集。
```java
@Service
public class UserServiceImpl implements IUserService {
private final UserMapper userMapper;
public UserServiceImpl(UserMapper userMapper) {
this.userMapper = userMapper;
}
@Override
public PageResult getUsersByPage(Integer currentPage, Integer pageSize) {
// 创建page对象
Page<User> page = new Page<>(currentPage, pageSize);
// 执行分页查询
IPage<User> iPage = userMapper.selectPage(page, null);
// 将结果封装成统一返回体
List<User> records = iPage.getRecords();
long total = iPage.getTotal();
return new PageResult(records, total);
}
}
```
阅读全文