mybatis分页多表查询
我们常遇到一种情况,数据量比较大,如果使用前台分页,在前台如果有权限,有逻辑判断,都会大大降低页面加载的速度,我们需要分页,单表查询的网上方法很多,这里就不赘余了,多表关联查询的分页需求很多,但是后台插件能够分页的,Page,PageHelper都是只支持单表的,多表关联,数据会错乱,造成很多空数据,小编研究了一下,写了一个多表关联查询的分页方法,抛砖引玉。
第一步,定义一个实体类
用这个实体类来封装分页的信息,可以使用spring自带的page,PageHelper,只是放实体类而已。在这里,我复制spring的Page实体类,进行修改。
第二步,在service写分页的方法
需要两次访问数据库,一次查询数据,一次查询符合条数的条目。
分两次的原因是,多表查询,查出来的数据没有映射,是符合条目的数据
第三步,写sql
为了减少您们的视觉压力,我给这段sql减减肥
将分页查询出来的结果,作为查询的条件
备注:startNumber是偏移量,计算是 = 当前页*页条目数