背景:项目使用的oracle数据库需转为Mysql数据库,固使用Navicat将表转化。
问题描述:在java中的oracle分页处理使用rownum方式,如下:
<select id="findForPage" parameterType="ParamMap" resultType="User">
SELECT
*
FROM(
SELECT
*,
rownum rn
FROM xx表1 a
LEFT JOIN XX表2 b ON a.id = b.id
WHERE true
ORDER BY user_id ASC) t
WHERE rn < = #{endIdx} and rn > = #{startIdx}
</select>
其中两个参数#{startIdx}和#{endIdx}为前端layui传过来。
修改为MySQL语句:
<select id="findForPage" parameterType="ParamMap" resultType="User">
SELECT
*
FROM xx表1 a
LEFT JOIN xx表2 b ON a.id = b.id
WHERE true
ORDER BY user_id ASC LIMIT #{startIdx},#{endIdx}
</select>
改为mysql后,使用limit方式实现。