当前位置: 代码迷 >> Web前端 >> mybatis不改源码兑现物理分页
  详细解决方案

mybatis不改源码兑现物理分页

热度:127   发布时间:2012-09-14 11:53:44.0
mybatis不改源码实现物理分页
  虽然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> 
  相关解决方案