如题,详细问题描述如下:
<select id="getListByPager" parameterClass="java.util.Map" resultClass="User" resultMap="UserResult">
<![CDATA[
select * from (select b.*,rownum rn from BBW_USER b where rownum <=#endRow# and user_state <>2
]]>
<isNotEmpty prepend="AND" property="user_accounts">
(user_accounts like #user_accounts#)
</isNotEmpty> <isNotEmpty prepend="AND" property="user_name">
(user_name like #user_name#)
</isNotEmpty> <![CDATA[
) where rn >=#startRow# order by user_id
]]>
</select>
说明:其中endRow、startRow是我定义的一个Pager类中的属性,用于分页的,另外user_accounts、user_name是我定义的User类里面的属性,和表对应的,我传入的Map对象有两个值,如下:
Map objectMap = new HashMap<String, Object>();
objectMap.put("pager", pager);
objectMap.put("user", user);
两个值都是自定义类型,上面的sql书写方法肯定是错误的,请教各位大侠,该如何书写SQL,或者用什么方法解决这种问题?小弟不胜感激。拜谢
<select id="getListByPager" parameterClass="java.util.Map" resultClass="User" resultMap="UserResult">
<![CDATA[
select * from (select b.*,rownum rn from BBW_USER b where rownum <=#endRow# and user_state <>2
]]>
<isNotEmpty prepend="AND" property="user_accounts">
(user_accounts like #user_accounts#)
</isNotEmpty> <isNotEmpty prepend="AND" property="user_name">
(user_name like #user_name#)
</isNotEmpty> <![CDATA[
) where rn >=#startRow# order by user_id
]]>
</select>
说明:其中endRow、startRow是我定义的一个Pager类中的属性,用于分页的,另外user_accounts、user_name是我定义的User类里面的属性,和表对应的,我传入的Map对象有两个值,如下:
Map objectMap = new HashMap<String, Object>();
objectMap.put("pager", pager);
objectMap.put("user", user);
两个值都是自定义类型,上面的sql书写方法肯定是错误的,请教各位大侠,该如何书写SQL,或者用什么方法解决这种问题?小弟不胜感激。拜谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货