日期:2014-05-17  浏览次数:20602 次

请问用ibatis的时候,分页需要传如第几页的参数,在sqlmap的配置文件怎么写?
Java code
<select id="selectAllUser" parameterClass="Users" resultMap="resultUsers">
        SELECT
            a.USER_ID
            ,a.LOGIN_NAME
            ,a.PASS_WORD
            ,a.SHOW_NAME
            ,a.PASS_WORD
            ,a.CREATE_TIME
            ,a.GROUP_ID
            ,a.ADMIN_FLG
            ,b.ID
            ,b.GROUP_NAME
            ,b.HIDE_FLG
        FROM
            table_user as a
            ,table_group as b
        WHERE
            b.ID = a.GROUP_ID
        ORDER BY
            a.USER_ID DESC
        LIMIT 0, 10
    </select>

这里有个paramClass。传的是user对象,那么这个第几页的参数,怎么传呢?
感谢大加帮助我一下啊 啊

------解决方案--------------------
你这里没用到User参数,可以用Map来传分页需要的参数 
XML code
<select id="selectAllUser" parameterClass="java.util.Map" resultMap="resultUsers">
        SELECT
            a.USER_ID
            ,a.LOGIN_NAME
            ,a.PASS_WORD
            ,a.SHOW_NAME
            ,a.PASS_WORD
            ,a.CREATE_TIME
            ,a.GROUP_ID
            ,a.ADMIN_FLG
            ,b.ID
            ,b.GROUP_NAME
            ,b.HIDE_FLG
        FROM
            table_user as a
            ,table_group as b
        WHERE
            b.ID = a.GROUP_ID
        ORDER BY
            a.USER_ID DESC 
        limit $start$,$limit$
    </select>

------解决方案--------------------
不要用$$变量,不会预编译,用##变量
------解决方案--------------------
新建个 Model 类,把 分页信息和 User 放进去,然后从 model 中获取即可。
我就是这么做的。
可以说是使用map的一种简写。更精准。
------解决方案--------------------
在接口里面穿一个offset和一个pagesize两个参数,在mapper.xml中,
<if test="offset != null and pagesize!= null">
LIMIT #{offset }, #{pagesize}
</if>