mybatis分页查询
时间: 2023-10-17 18:21:42 浏览: 42
MyBatis提供了内置的分页插件PageHelper,使用起来非常方便。下面是使用PageHelper进行分页查询的步骤:
1. 引入PageHelper依赖
在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.8</version>
</dependency>
```
2. 配置PageHelper插件
在MyBatis的配置文件中(如mybatis-config.xml)添加PageHelper插件的配置:
```xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!--指定 dialect 类型,这里使用的是 MySQL-->
<property name="helperDialect" value="mysql"/>
<!--指定为 true 才会进行分页查询-->
<property name="reasonable" value="true"/>
<!--支持通过 Mapper 接口参数来传递分页参数-->
<property name="supportMethodsArguments" value="true"/>
</plugin>
</plugins>
```
3. 在Mapper接口中定义分页查询方法
使用PageHelper提供的静态方法进行分页查询:
```java
import com.github.pagehelper.Page;
@Mapper
public interface UserMapper {
// 分页查询用户列表
Page<User> getUserList(int pageNum, int pageSize);
}
```
4. 在Service中调用Mapper方法
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public PageInfo<User> getUserList(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userMapper.getUserList();
PageInfo<User> pageInfo = new PageInfo<>(userList);
return pageInfo;
}
}
```
使用PageHelper插件进行分页查询,只需要在Mapper接口中定义分页查询方法,然后在Service中调用Mapper方法并使用PageHelper进行分页即可。