码迷,mamicode.com
首页 > 数据库 > 详细

ibatis框架下oracle转mysql的分页设置.

时间:2014-09-01 17:12:03      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:使用   java   ar   数据   c   new   size   数据库   sql   

ibatis框架下oracle转mysql的分页设置.

oracle:
<select id="queryPageBySearch" resultMap="FullResultMap"
parameterClass="java.util.HashMap">//调用方法时使用的id,返回的结果类型,传入的参数类型
<![CDATA[select * from (select newtab_.*,rownum idx_ from (]]>
SELECT * FROM USERS
<dynamic prepend="WHERE">
<isNotEmpty prepend="AND" property="id">
ID = #id#
</isNotEmpty>
</dynamic>
<![CDATA[) newtab_ where rownum <= #lastRows# ) where idx_ >#offset#]]>
ORDER BY id ASC
</select>

mysql:
<select id="queryPageBySearch" resultMap="FullResultMap"
parameterClass="java.util.HashMap">
SELECT * FROM users
ORDER BY id ASC
limit #offset#,#pagesize#
</select>
在一开始转mysql不小心将limit后面的offset和lastRows两个值弄反了,写成了limit #lastRows#,#offset#结果lastRows值大于数据库表里的记录条数(我的记录有5条,而lastRows值为8),导致返回的结果为空,然后改成limit #lastRows#,#pagesize#,结果还是一样,因为表示取的数据是从第8条到第pagesize条,所以不可能取到数据,最后断点测试才发现这个错误原因,于是把两个值的顺序反下即可,limit #offset#,#pagesize#。

ibatis框架下oracle转mysql的分页设置.

标签:使用   java   ar   数据   c   new   size   数据库   sql   

原文地址:http://www.cnblogs.com/haimeifeng/p/3949330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!