Mybatis分页数据的第二页跟第三页竟然一模一样?

昨天又是辛苦工作的一天,但是就在临近下班的时候,如果测试给我提了一个bug,具体内容是:分页数据的第二页跟第三页竟然**一模一样**。

然后我就想着会不会是我没拿到前端传的pageNo呢?或者是前端没传?然后我就开始debug。经过一顿点鼠标之后发现,数据一切正常,业务逻辑也没任何问题,那问题就肯定是出现在**sql语句**上面了。

接下来我将出问题的代码贴出来,看大家能否想到问题出现在哪里:


<select id="selectRegisterSon" parameterType="Map" resultType="cn.xx.xx.vo.xxxVo">

select s.id, r.pfaccount, s.account, s.password

from sy_cv_register_son s

left join sy_cv_register r on s.register_id = r.id

where s.register_id = #{registerId}

ORDER BY s.create_time DESC

LIMIT #{offset}, #{pageSize}

</select>


<select id="selectTotal" parameterType="Map" resultType="Long">

select count(*)

from sy_cv_register_son s

left join sy_cv_register r on s.register_id = r.id

where s.register_id = #{registerId}

</select>


这里是数据库部分数据:

image.png


大家仔细看上面的sql语句,是不是没有任何问题。然后一开始我也认为没问题,然后我还将这段sql拿去执行,发现 诶?为什么直接执行也是第二页跟第三页一摸一样的数据。怎么回事,有没有经验丰富的大佬已经看出端倪了


是的 就是下面这一行代码出现了问题,我之后把它去掉就一切正常了


ORDER BY s.create_time DESC


我当时就觉得很奇怪了,为什么,直到我看到create_time那个字段的时间一模一样之后,我隐隐约约就意识到点什么东西了,但是我又不确定,希望懂这个的大佬来指点一下。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
Anno
下载 APP