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>