mybatis-plus分页查询 demo
时间: 2023-07-18 09:18:36 浏览: 52
好的,以下是使用 Mybatis-Plus 进行分页查询的示例代码:
```java
// 创建分页对象,参数为当前页和每页记录数
IPage<User> page = new Page<>(1, 10);
// 构造查询条件
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18);
// 执行分页查询
IPage<User> userPage = userService.page(page, wrapper);
// 获取分页数据
List<User> userList = userPage.getRecords();
```
以上示例中,我们使用 Mybatis-Plus 提供的 `Page` 对象来构造分页信息,然后使用 `QueryWrapper` 对象构造查询条件,最后调用 `page` 方法执行分页查询。查询结果会封装在 `IPage` 对象中,我们可以通过 `getRecords` 方法获取分页数据。
相关问题
mybatis-plus分页查询 倒序 demo
好的,以下是使用 Mybatis-Plus 进行倒序分页查询的示例代码:
```java
// 创建分页对象,参数为当前页和每页记录数
IPage<User> page = new Page<>(1, 10);
// 构造查询条件
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18).orderByDesc("id");
// 执行分页查询
IPage<User> userPage = userService.page(page, wrapper);
// 获取分页数据
List<User> userList = userPage.getRecords();
```
以上示例中,我们在原有的分页查询示例基础上,添加了 `orderByDesc` 方法来实现倒序查询。`orderByDesc` 方法的参数是排序字段名,这里我们以 `id` 字段为例。最终查询结果会按照 `id` 字段的倒序排列。
Mybatis-Plus框架实现分页查询
Mybatis-Plus框架提供了丰富的分页查询功能,可以轻松实现分页查询。
首先,我们需要在mapper接口中定义一个方法来实现分页查询:
```java
public interface UserMapper extends BaseMapper<User> {
IPage<User> selectUserPage(Page<User> page, @Param("username") String username);
}
```
在这个方法中,我们使用了`Page`和`IPage`两个接口。`Page`是Mybatis-Plus提供的分页查询参数,`IPage`是Mybatis-Plus提供的分页查询结果。`@Param("username")`用于指定参数名称,这里我们将它指定为`username`。
然后,在mapper.xml中实现具体的查询逻辑:
```xml
<select id="selectUserPage" resultType="com.example.demo.entity.User">
SELECT *
FROM user
WHERE username LIKE concat('%', #{username}, '%')
ORDER BY id DESC
</select>
```
在这个查询语句中,我们使用了`concat`函数来拼接查询条件。`ORDER BY`语句用于指定排序方式,这里我们按照id倒序排列。
最后,在service层中调用mapper接口的查询方法,即可实现分页查询:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public Page<User> getUserPage(Page<User> page, String username) {
return userMapper.selectUserPage(page, username);
}
}
```
这里的`getUserPage`方法就是我们定义的分页查询方法。调用`userMapper.selectUserPage`方法即可获取分页查询结果。