Mybatis入门实例(四)——MyBatis Generator生成DAO的基础上增加分页

继续上次的

使用MyBatis Generator生成DAO  http://qiuqiu0034.iteye.com/blog/1163026

虽然MyBatis_Generator可以将常用的DAO中的方法都生成,但是唯独忽视了一点——分页,虽然MyBatis支持分页,但是那个分页是内存分页,如果数据量大的话内存恐怕要承受不了,于是就自动动手改造自动化工具生成的代码使其支持真分页.

本文里面我说的是针对mysql的,针对其他数据库的请做适当修改,因为mybatis底层没有封装数据库的差异,所以我觉得也并没有必要对其差异进行封装.

其实改动的东西很简单,也很少,切入点就是Mapper里面的动态sql:

首先在Example对象里面加入两个整形变量start和limit,start代表起始索引,limit代表数量,然后生成对应的get/set方法,使MyBatis在执行的时候能够获取相应的值.

第二部就是修改Mapper了,在selectByExample里面加入对Example对象中start和limit的判断,如果start和limit不同时为0,则自动在sql的最后加入分页条件,以下是需要加入的xml代码,记得加在selectByExample这个sql的最后面,也就是排序的后面

<if test="start !=0 or limit!=0">
    limit #{start},#{limit}
</if>

猜你喜欢

转载自qiuqiu0034.iteye.com/blog/1164550