mybatisplus wrapper多表分页查询
时间: 2023-09-01 12:07:11 浏览: 92
mybatis-plus分页查询
Mybatis-Plus提供了一种方便的方式来实现多表分页查询,使用Wrapper对象可以很容易地实现多表关联查询和分页功能。
首先,在Mapper接口中定义一个方法,方法参数中使用Page对象和Wrapper对象:
```
List<User> selectUserPage(Page<User> page, @Param("wrapper") Wrapper<User> wrapper);
```
然后,在Mapper.xml文件中实现该方法,使用多表关联查询和分页功能:
```
<select id="selectUserPage" resultType="User">
SELECT *
FROM user u
<where>
<if test="wrapper != null">
${wrapper.sqlSegment}
</if>
</where>
<if test="page != null">
LIMIT #{page.offset}, #{page.size}
</if>
</select>
```
在调用该方法时,可以使用LambdaQueryWrapper对象来构建条件查询:
```
Page<User> page = new Page<>(1, 10);
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getUsername, "admin")
.or()
.eq(User::getUsername, "root");
List<User> userList = userMapper.selectUserPage(page, wrapper);
```
这样就可以实现多表关联查询和分页功能了。需要注意的是,如果没有使用Wrapper对象,则查询结果将为全表数据,不会进行分页。
阅读全文