虽然MyBatis_Generator可以将常用的DAO中的方法都生成,但是唯独忽视了一点――分页,虽然MyBatis支持分页,但是那个分页是内存分页,如果数据量大的话内存恐怕要承受不了,于是就自动动手改造自动化工具生成的代码使其支持真分页.
虽然这里说的是针对mysql的,针对其他数据库的请做适当修改,因为mybatis底层没有封装数据库的差异,所以我觉得也并没有必要对其差异进行封装.
首先在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>