如何设置MyBatis的分页插件?
时间: 2024-10-22 19:03:14 浏览: 66
在MyBatis中设置分页插件通常使用的是PageHelper这个开源库。以下是简单的步骤:
1. 添加依赖:
将PageHelper的依赖添加到项目的pom.xml文件中,如果是Maven项目:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.x.x</version>
</dependency>
```
或者Gradle项目:
```groovy
implementation 'com.github.pagehelper:pagehelper:5.x.x'
```
2. 配置插件:
在Spring Boot的配置类中,注入SqlSessionTemplate,并配置PageHelper:
```java
@Autowired
private SqlSessionFactory sqlSessionFactory;
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
// 分页参数默认值,如每页大小为10,是否跳过空页等
pageHelper.setreasonable(true);
pageHelper.setPagesize(10); // 自定义分页大小
// 设置实体类型
pageHelper.setEntityClass(User.class);
// 注册拦截器,这里一般不需要手动注册,因为已经随依赖自动注册了
return pageHelper;
}
@PostConstruct
public void init() {
PageHelper.startPage(1, 10); // 每次请求时设置初始页码和每页数量
}
```
3. 在Mapper接口上使用注解:
```java
@Mapper
public interface UserMapper {
List<User> findAll(@PageProperty int pageNum, @PageProperty int pageSize); // 参数pageNum表示当前页数,pageSize表示每页数量
}
```
通过这种方式,MyBatis就会自动对查询结果进行分页处理,而无需硬编码分页逻辑。
阅读全文
相关推荐


















