mybatisplus分页代码实现
时间: 2024-07-17 15:01:28 浏览: 158
MybatisPlus是一个基于MyBatis的ORM框架,它简化了数据库操作,包括分页。在MybatisPlus中实现分页通常通过`PageHelper`工具类,这是一个轻量级的、无需额外配置的分页插件。以下是基本的分页代码实现:
```java
import com.baomidou.mybatisplus.core.toolkit.PageUtils;
import com.baomidou.mybatisplus.extension.pagehelper.PageHelper;
// 创建分页对象并设置当前页数和每页大小
PageHelper.startPage(pageNum, pageSize);
// 执行SQL查询,返回的是IPage<T>类型的对象,包含了总记录数和分页后的数据
List<T> result = queryExample.selectList(example);
// 将结果转换成PageUtils对象,这个对象可以方便地获取总记录数和分页数据
PageUtils page = new PageUtils(result, total);
// 现在你可以直接访问page.getTotal()获取总记录数,page.getRecords()获取实际的数据列表
```
其中,`pageNum`是当前页码,`pageSize`是每页显示的条数,`T`是查询结果的数据类型,`queryExample`是自定义的查询条件对象。
相关问题
mybatisplus分页查询的代码实现
MybatisPlus是Mybatis的增强工具,在Mybatis的基础上增加了许多实用的功能,其中包括分页查询。下面是使用MybatisPlus进行分页查询的代码实现:
1. 在Mapper接口中添加分页查询方法:
```java
List<User> selectUserByPage(Page<User> page);
```
2. 在Mapper.xml中编写SQL语句:
```xml
<select id="selectUserByPage" resultType="User">
select * from user
<where>
<!-- 这里是查询条件 -->
</where>
order by id asc
limit #{page.offset}, #{page.size}
</select>
```
3. 在Service层中调用分页查询方法:
```java
Page<User> page = new Page<>(1, 10); // 第一页,每页10条记录
List<User> userList = userMapper.selectUserByPage(page);
long total = page.getTotal(); // 获取总记录数
```
其中,Page类是MybatisPlus提供的分页查询对象,构造方法中可以传入当前页数和每页记录数。在调用分页查询方法后,可以通过getTotal()方法获取总记录数。
mybatisplus分页实现
以下是两种Mybatis-plus分页实现的方法:
1.使用PageHelper插件进行分页
```java
//入PageHelper插件
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
//在Mapper.xml中配置分页查询
<select id="selectByPage" resultMap="BaseResultMap">
select * from user
</select>
//在Java代码中调用分页查询
PageHelper.startPage(1, 10); //查询第1页,每页10条记录
List<User> userList = userMapper.selectByPage();
PageInfo<User> pageInfo = new PageInfo<>(userList);
```
2.使用Mybatis-plus提供的selectPage方法进行分页
```java
//在Java代码中调用分页查询
Page<User> page = new Page<>(1, 10); //查询第1页,每页10条记录
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 18); //查询年龄为18岁的用户
IPage<User> userIPage = userMapper.selectPage(page, queryWrapper);
List<User> userList = userIPage.getRecords();
```
阅读全文