controller层代码:
这里我重写了getDatatable这个方法并更名为getDatatables 代码如下:
这里说明一下为啥重写这个方法,因为getDataTable这个放法会把当前集合的总数当成total传给前台,接下来我们看业务层代码:
service接口代码如下
serciceImpl层代码:
因为这里使用了stream流做了降序和升序的操作,导致了分页失效。
financeMapper.findSignCourseRecordList(signCourseQueryDto);是先进行查询所有记录的总数量,设置PageInfo中的total总数量(执行select count(1)),然后执行具体的查询sql.所以在sql查询处理之后总的记录数是已经存在的,只需要暂存一下.等到stream逻辑处理之后重新进行总记录数赋值。
这里我理解的是,先记录total总数量,暂存总记录数,等stream逻辑处理之后再把总记录数赋值进去。