mybatis学习之分页
分页一般分为物理分页:先查询所有值再分页输出,逻辑分页:直接分页查询输出,mybatis支持物理分页,如下:
1、物理分页:
mapper映射:
<select id="findStudents" resultMap="StudentResult"> select * from t_student order by id asc </select>
Dao接口:
/** * mybatis分页查询-逻辑分页 * @param rowBounds * @return */ public List<Student> findStudents(RowBounds rowBounds);
测试:
/** * 逻辑分页----查询所有数据再分页输出 * @throws Exception */ @Test public void testRowBounds() throws Exception{ logger.info("学生查询-逻辑分页"); int offset = 3; //start int limit = 3; //size RowBounds rowBounds = new RowBounds(offset,limit); List<Student> studentList = studentDao.findStudents(rowBounds); for (Student student : studentList) { System.out.println(student); } }
2、逻辑分页:
mapper映射:
<select id="findStudents2" parameterType="Map" resultMap="StudentResult"> select * from t_student <if test="start != null and size != null"> limit #{start},#{size} </if> </select>
Dao接口:
/** * mybatis分页查询-物理分页 * @param rowBounds * @return */ public List<Student> findStudents2(Map<String, Object> map);
测试:
/** * 物理分页----查询分页数据再输出 * @throws Exception */ @Test public void testFind() throws Exception{ logger.info("学生查询-物理分页"); Map<String, Object> map = new HashMap<>(); map.put("start", 0); map.put("size", 3); List<Student> studentList = studentDao.findStudents2(map); for (Student student : studentList) { System.out.println(student); } }
作者:程序员小波与Bug
出处:https://codetrips.cn
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以邮件:caiya928@aliyun.com
QQ:1419901425 联系我
如果喜欢我的文章,请关注我的公众号:程序员小波与Bug