mybatis-plus 左连接查询分页时,查出的条数不对
时间: 2024-01-27 07:19:35 浏览: 79
mybatis-plus分页查询 学习mybatis-plus在项目中的简单使用,代码生成器,分页查询,多数据源等
在 Mybatis-Plus 中,左连接查询分页时,查出的条数不对的问题可能是由于分页插件的使用问题导致的。请确认是否使用了 Mybatis-Plus 提供的分页插件 PageHelper 或者自定义的分页插件,如果是,请尝试更新插件版本或者检查插件的使用方式是否正确。
另外,如果使用的是 Mybatis-Plus 的自动分页功能,建议使用 selectPage 方法进行分页查询,该方法会自动进行分页和总数统计,避免了手动分页可能出现的问题。同时,对于左连接查询分页的情况,需要注意在 Mapper.xml 中使用 left join 的同时,也要使用 count(1) over() 语句查询总数,例如:
```xml
<select id="selectUserList" resultMap="userResultMap">
select u.*, r.role_name
from user u
left join role r on u.role_id = r.id
<where>
...
</where>
order by u.id desc
<if test="page != null">
limit #{page.offset}, #{page.size}
</if>
</select>
<select id="selectUserListCount" resultType="int">
select count(1) over()
from user u
left join role r on u.role_id = r.id
<where>
...
</where>
</select>
```
其中,selectUserList 方法用于查询分页数据,selectUserListCount 方法用于查询总数。使用 count(1) over() 语句查询总数可以避免在分页查询时重复查询总数,提高查询性能。
阅读全文