mybatis分页多表查询

mybatis分页多表查询

我们常遇到一种情况,数据量比较大,如果使用前台分页,在前台如果有权限,有逻辑判断,都会大大降低页面加载的速度,我们需要分页,单表查询的网上方法很多,这里就不赘余了,多表关联查询的分页需求很多,但是后台插件能够分页的,Page,PageHelper都是只支持单表的,多表关联,数据会错乱,造成很多空数据,小编研究了一下,写了一个多表关联查询的分页方法,抛砖引玉。

第一步,定义一个实体类

用这个实体类来封装分页的信息,可以使用spring自带的page,PageHelper,只是放实体类而已。在这里,我复制spring的Page实体类,进行修改。

mybatis分页多表查询_第1张图片

第二步,在service写分页的方法

mybatis分页多表查询_第2张图片

需要两次访问数据库,一次查询数据,一次查询符合条数的条目。

分两次的原因是,多表查询,查出来的数据没有映射,是符合条目的数据

第三步,写sql

mybatis分页多表查询_第3张图片

 

为了减少您们的视觉压力,我给这段sql减减肥

mybatis分页多表查询_第4张图片


将分页查询出来的结果,作为查询的条件

备注:startNumber是偏移量,计算是 = 当前页*页条目数

你可能感兴趣的:(mybatis分页多表查询)