mybatis-plus分页 count 语句拼接
时间: 2023-08-13 19:42:49 浏览: 311
Mybatis-Plus提供了一个Page对象用于分页查询,其中包括当前页码、每页显示数量、总记录数等信息。在进行分页查询时,我们需要先查询总记录数,然后再查询对应的数据页。
Mybatis-Plus已经为我们提供了方便的方法来进行分页查询,我们只需要在mapper接口中定义一个带有Page参数的查询方法即可。例如:
```java
List<User> selectUserList(Page<User> page);
```
在查询中,我们需要使用Mybatis-Plus提供的Page对象来进行分页查询。在查询之前,我们需要先设置Page对象的当前页码和每页显示数量:
```java
Page<User> page = new Page<>(1, 10); // 查询第1页,每页显示10条记录
```
接下来,我们需要在查询之前先查询出总记录数,这个过程可以使用Mybatis-Plus提供的selectCount方法:
```java
long total = userMapper.selectCount(null); // 查询总记录数
page.setTotal(total); // 设置总记录数
```
然后,我们就可以使用Page对象进行分页查询了:
```java
List<User> userList = userMapper.selectUserList(page);
page.setRecords(userList); // 设置数据页
```
在进行分页查询时,Mybatis-Plus会自动拼接分页SQL语句,并将分页参数传递给SQL语句。例如,在MySQL中,分页SQL语句可以如下所示:
```sql
SELECT * FROM user LIMIT 0, 10;
```
其中,0表示起始记录数,10表示每页显示数量。Mybatis-Plus会根据当前页码和每页显示数量自动计算出起始记录数。
阅读全文