当前位置:编程学习 > JAVA >>

求ibatis解决1+n的分页方法

刚开始接触项目,遇见了一个问题,在处理1对多的问题的时候,存在1+n的问题,,就在网上看见用resultmap来解决1+n的问题,但是无法实现分页。求什么方法实现能解决1+n问题的分页方法。。自己感觉可能在数据库方面入手写一些自定义方法可能能解决 --------------------编程问答-------------------- http://cuishen.iteye.com/blog/544207

楼主可以看看这篇博文,分页语句可以根据自己的实际查询嵌套sql来编写
    <select id="getMainlogByPage" parameterClass="java.util.Map" resultMap="MainlogMap">
SELECT * FROM(
SELECT A.*, ROWNUM as num
FROM(
SELECT B.* FROM

AP_BMS_MAINLOG B WHERE B.EXT1 is not null

<isNotNull prepend="and " property="startDate"><![CDATA[CREATE_TIME >= #startDate# ]]></isNotNull>
<isNotNull prepend="and " property="endDate"><![CDATA[CREATE_TIME <= #endDate# ]]></isNotNull>
<isNotNull prepend="and " property="operType"><![CDATA[OPER_TYPE like '%'||#operType#||'%']]></isNotNull>
<isNotNull prepend="and " property="ext1"><![CDATA[EXT1 like '%'||#ext1#||'%']]></isNotNull>
order by CREATE_TIME desc
<![CDATA[ ) A where rownum <=#endPage# )b WHERE b.num >#startPage#]]>
</select>
--------------------编程问答-------------------- (1)建一个basePO,里面2个字段,startNum和endNum,负责记录要查询的开始行到结束行,(分页用到),项目用到的PO继承这个,
(2)参考下1楼的方法,1楼的是oracle写法,MYSQL是limit ?,? , 参数里带上startNum和endNum,在XML的SQL语句上where就可以

补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,