mapper层怎么实现分页查询
时间: 2024-05-04 15:17:56 浏览: 137
查询数据分页的实现
在 mapper 层实现分页查询通常需要使用 MyBatis 提供的分页插件 PageHelper。
使用 PageHelper 实现分页查询的步骤如下:
1. 引入 PageHelper 依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>${pagehelper.version}</version>
</dependency>
```
其中,`${pagehelper.version}` 是 PageHelper 的版本号。
2. 在 MyBatis 的配置文件中配置 PageHelper:
```xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 设置数据库类型,可选值为:oracle, mysql, mariadb, sqlite, hsqldb, postgresql, db2, sqlserver, informix -->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
```
其中,`dialect` 属性的值需要根据实际使用的数据库类型进行配置。
3. 在 mapper 层的方法中使用 PageHelper 进行分页查询:
```java
public interface UserMapper {
List<User> selectUsersByPage(int pageNum, int pageSize);
}
```
其中,`pageNum` 表示查询的页码,`pageSize` 表示每页的记录数。
4. 在 mapper 层的方法实现中使用 PageHelper.startPage() 方法开启分页查询:
```java
@Override
public List<User> selectUsersByPage(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
return userMapper.selectUsers();
}
```
其中,`selectUsers()` 方法是查询所有用户记录的方法。
这样就可以在 mapper 层实现分页查询了。
阅读全文