mybatis的学习和使用--分页(RowBounds)的使用(7)

本文章再介绍下如何简单的使用mybatis的分页功能,

代码示例:https://github.com/wangjiuong/MybatisDemo/tree/master/MyBatisListTypeHandler

 

mybatis为了支持分页,并且适用于多种数据库,提供了

对象,但是一般不建议在程序中使用,因为RowBounds的实现,是先执行除去RowBounds的SQL语句,然后在内存中进行数据提取的,这样如果数据量很大的话,会有性能问题,这一段的实现后面会有详细的代码分析。

使用起来其实很简单,代码粘贴如下:

    private static void selectAllUser1() {

        SqlSession session = DBTools.getSession();
        try {
            int offset = 1;
            int limit = 2;
            RowBounds rowBounds = new RowBounds(offset, limit);
            List<UserBean> user = session.selectList("selectAllUser", null, rowBounds);

            System.out.println(user.size());
            session.commit();
        } catch (Exception e) {
            e.printStackTrace();
            session.rollback();
        }
    }

 

第二种的实现方式是将offset和limit作为参数传入,

代码路径: https://github.com/wangjiuong/MybatisDemo/tree/master/ExampleMyBatisPage

xml文件定义如下:

    <select id="selectAllUserPage" parameterType="com.wang.MyBatis.Page.Page"
        resultMap="userMap">
        select * from t_user
        <if test="startNum!=null and endNum!=null">
            limit #{startNum},#{endNum}
        </if>
    </select>

 

posted @ 2017-04-15 21:04  王久勇  阅读(1695)  评论(0)    收藏  举报