浅谈MyBatis3物理分页

   之前写过用混合传参进行物理分页,发现存在问题,map可以传多个对象作为参数,但是在xml中if test判断无法动态的判断条件,原因是map允许value为NULL,当我们传对象过去时,xml将会组装完整的SQL,类似select * from user where username=null这样的语句,无法做到动态条件的分页。网上也大多是用plug的形式进行物理分页,写拦截器。但是其内在本质是没有区别的,都是拼装SQL,添加limit语句。其于在javabean中添加分页类属性是没有本质区别的。有人说破坏了原本实体类的结构,但其实这样做和你在弄聚合类是没有区别的,况且对于持久化没有丝毫的影响,所以对于物理分页的需求,个人觉得,如果你觉得去用getSqlSession().selectList(sqlId, paramMap,new RowBounds(pageId, pageSize))比在bean中添加分页类还让你讨厌,抑或是没有时间去修改源码,那么还是使用在bean中添加分页类的属性吧,在xml中用A.P.starrow这种方式去实现物理分页也是不错的选择。

你可能感兴趣的:(mybatis3物理分页)