mybatis-plus分页查询自定义VO
时间: 2023-11-28 13:40:23 浏览: 208
mybatis-plus分页查询的实现示例
使用 Mybatis-Plus 进行分页查询时,可以通过自定义 VO 来封装查询结果,具体步骤如下:
1. 在 Mybatis-Plus 配置类中开启分页插件:`PaginationInterceptor`。
2. 在 Mapper 接口中定义分页查询方法,方法参数使用 `com.baomidou.mybatisplus.extension.plugins.pagination.Page` 类型。例如:
```java
List<UserVO> selectUserVOPage(Page<UserVO> page, @Param("name") String name);
```
3. 在 XML 文件中编写 SQL 语句,使用 `LIMIT` 关键字指定分页的起始位置和数量,并将返回结果封装到自定义的 VO 中。例如:
```xml
<select id="selectUserVOPage" resultType="com.example.vo.UserVO">
SELECT u.id, u.name, u.age, r.role_name
FROM user u
LEFT JOIN role r ON u.role_id = r.id
WHERE u.name = #{name}
ORDER BY u.id DESC
LIMIT #{page.offset}, #{page.size}
</select>
```
4. 在 Service 层调用 Mapper 接口的分页查询方法,并将查询结果封装到 `com.baomidou.mybatisplus.core.metadata.IPage` 类型中。例如:
```java
Page<UserVO> page = new Page<>(current, size);
List<UserVO> userVOList = userMapper.selectUserVOPage(page, name);
return page.setRecords(userVOList);
```
阅读全文