编辑
2024-04-07
学习记录
00
请注意,本文编写于 361 天前,最后修改于 361 天前,其中某些信息可能已经过时。

目录

前提
先继承mybatis自带的Ipage
在新增分页对象实现自定义的Ipage
使用

前提

有时候使用Ipage包裹对象后,需求有要求我们返回另外的内容,比如返回查询列表的同时,还需要返回当前的出院总人数

解决方式:

  • 返回对象改成Map或者在外面套一个新的对象,新对象属性有两个,一个是Ipage<t>,另外的就是出院总人数
  • 新增一个出院总人数的接口、前端调用原来的接口以及新的接口
  • 自定义一个Ipage,在自定义的分页对象里面,新增一个出院总人数的属性

先继承mybatis自带的Ipage

java
public interface IDisPage<T> extends IPage<T> { IPage<T> setDisCount(Integer count); //get方法很重要,缺少get方法,会忽略掉这个新增结果 Integer getDisCount(); }

在新增分页对象实现自定义的Ipage

java
public class DisPage<T> implements IDisPage<T> { /** * 查询数据列表 */ private List<T> records = Collections.emptyList(); /** * 总数 */ private long total = 0; /** * 每页显示条数,默认 10 */ private long size = 10; /** * 当前页 */ private long current = 1; private boolean isSearchCount = true; private Integer disCount = null; public DisPage() { // to do nothing } /** * 分页构造函数 * * @param current 当前页 * @param size 每页显示条数 */ public DisPage(long current, long size) { this(current, size, 0); } public DisPage(long current, long size, long total) { this(current, size, total, true); } public DisPage(long current, long size, boolean isSearchCount) { this(current, size, 0, isSearchCount); } public DisPage(long current, long size, long total, boolean isSearchCount) { if (current > 1) { this.current = current; } this.size = size; this.total = total; this.isSearchCount = isSearchCount; } @Override public DisPage<T> setDisCount(Integer count) { this.disCount = count; return this; } @Override public Integer getDisCount() { return this.disCount; } @Override public List<T> getRecords() { return this.records; } @Override public DisPage<T> setRecords(List<T> records) { this.records = records; return this; } @Override public long getTotal() { return this.total; } @Override public DisPage<T> setTotal(long total) { this.total = total; return this; } @Override public long getSize() { return this.size; } @Override public DisPage<T> setSize(long size) { this.size = size; return this; } @Override public long getCurrent() { return this.current; } @Override public DisPage<T> setCurrent(long current) { this.current = current; return this; } }

使用

和正常的Ipage一样使用就好了,重新查询一下总人数,通过set方法设置进对象就好了

本文作者:Weee

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!