MYBATIS分页查询
时间: 2023-11-30 11:39:28 浏览: 33
MyBatis分页查询是指在使用MyBatis框架进行数据库查询时,将查询结果按照指定的页数进行分割,每页显示指定数量的数据。MyBatis提供了多种分页查询的方式,包括基于注解的简单分页查询和在配置文件中做分页配置等。其中,基于注解的简单分页查询是通过在查询方法上添加注解来实现分页查询,而在配置文件中做分页配置则是通过配置分页插件来实现分页查询。在进行分页查询时,需要指定当前页数和每页显示的数据数量,MyBatis会根据这些参数自动进行分页查询并返回结果。
相关问题
mybatis 分页查询
MyBatis 提供了一个分页插件 PageHelper,使用它可以方便地实现分页查询。下面是使用 PageHelper 进行分页查询的步骤:
1. 引入 PageHelper 依赖
在 Maven 项目中,可以在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
```
2. 在 MyBatis 配置文件中配置 PageHelper 插件
在 MyBatis 配置文件中,添加以下内容:
```xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
```
3. 在查询方法中使用 PageHelper.startPage 方法
在查询方法中使用 PageHelper.startPage 方法来开启分页功能,该方法接受两个参数:当前页码和每页显示的条数。例如:
```java
public List<User> getUserList(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
return userMapper.getUserList();
}
```
4. 返回 PageInfo 对象
使用 PageHelper 提供的 PageInfo 对象来获取分页信息,例如:
```java
List<User> userList = userService.getUserList(pageNum, pageSize);
PageInfo<User> pageInfo = new PageInfo<>(userList);
// 获取分页信息
System.out.println("总条数:" + pageInfo.getTotal());
System.out.println("总页数:" + pageInfo.getPages());
System.out.println("当前页码:" + pageInfo.getPageNum());
System.out.println("每页显示条数:" + pageInfo.getPageSize());
// 获取分页数据
List<User> data = pageInfo.getList();
```
以上就是使用 PageHelper 进行分页查询的步骤。
mybatis 分页查询插件
Mybatis分页查询插件是用于处理Mybatis分页功能的插件,常用的有Mybatis-Plus和PageHelper两种。其中,Mybatis-Plus是一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,提供了许多实用的功能,包括分页查询。使用Mybatis-Plus进行分页查询非常简单,只需要在Mapper接口中继承BaseMapper<T>,然后调用selectPage方法即可实现分页查询。具体步骤如下:
1.在pom.xml文件中添加Mybatis-Plus的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
```
2.在Mapper接口中继承BaseMapper<T>:
```java
public interface UserMapper extends BaseMapper<User> {
}
```
3.在Service中调用selectPage方法进行分页查询:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> getUserList(int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectPage(page, null);
}
}
```
其中,Page是Mybatis-Plus提供的分页对象,selectPage方法的第一个参数是Page对象,第二个参数是查询条件。
除了Mybatis-Plus,还有另一个常用的分页插件PageHelper,它是一个Mybatis分页插件,可以通过在Mapper接口中添加注解的方式实现分页查询。具体使用方法可以参考PageHelper的官方文档。