mybatis-plus 自定义分页

返回数据类

@Data
public class ResponseInfo implements Serializable {

	private static final long serialVersionUID = -4417715614021482064L;

	private int code;
	private String message;
	
	public ResponseInfo() {
		
	}

}

创建枚举类

public enum ResponseEnum {
    REQUEST_SUCCESS(0, "操作成功"),

    REQUEST_FAILURE(1, "操作失败"),;

    private int code;

    private String message;// 中文描述

    private ResponseEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int code() {
        return code;
    }

    public String message() {
        return message;
    }
}

数据结果调用返回类

@Data
public class MapPageResponseInfo extends ResponseInfo {
	private static final long serialVersionUID = 1L;
	
	// 总条数
	private long count = 0;
	// 分页结果
	private List<Map<String, Object>> data;

	public MapPageResponseInfo(){
		super();
	}

	public MapPageResponseInfo page(List<Map<String, Object>> data,long count) {
		if(data != null) {
			//状态码
			this.setCode(ResponseEnum.REQUEST_SUCCESS.code());
			//状态码文字信息
			this.setMessage(ResponseEnum.REQUEST_SUCCESS.message());
			//数据信息
			this.setData(data);
			//条目数
			this.setCount(count);
		}
        return this;
    }
}

mapper类

提供分页插件,和参数  参数会以sql where函数注入到  ${ew.customSqlSegment}

public List<Map<String,Object>> selApplyNum(Page<Map<String,Object>> page, @Param(Constants.WRAPPER)QueryWrapper<Map<String,Object>> wrapper);
    <select id="MyPage" resultType="Map">
    		SELECT *FROM wms_storehouse_in a
    		  ${ew.customSqlSegment}  and d.del_flag = 0
</select>

service类

public MapPageResponseInfo queryPageTwoMap(Page<Map<String, Object>> page, Map<String, Object> param);

通过服务端传来Page参数,将当前页码,和显示条目数放入Page类中

将传来的筛选参数放入查询包装器QueryWrapper中进行条件查询

//     * @param page 显示第几条数据,哪一页
//     * @param param 穿来需要条件搜索的字段
    @Override
    public MapPageResponseInfo queryPageTwoMap(Page<Map<String, Object>> page, Map<String, Object> param) {
// 当前显示的页面,显示的条目数
       Page<Map<String,Object>> storehouseInPage = new Page<>(page.getCurrent(), page.getSize());
        //定义条件查询
         QueryWrapper<Map<String,Object>> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("a.del_flag",0);
        List<Map<String, Object>> list = 
storehouseInMapper.MyPage(null, queryWrapper);
        List<Map<String, Object>> maps = 
storehouseInMapper.MyPage(storehouseInPage, queryWrapper);
        return new MapPageResponseInfo().page(maps,list.size());
    }

controll类

通过前端传来当前页码,显示条目数 传入给Page构造函数中

param 条件查询参数

	/**
	 *
	 * @param param  传来参数
	 * @param page   当前页码
	 * @param limit  显示条目数
	 * @return
	 */
	@PostMapping("/queryPageTwoMap")
	public MapPageResponseInfo queryPageTwoMap(@RequestParam Map<String,Object> param, long page, long limit) {
		return baseService.queryPageTwoMap(new Page<Map<String,Object>>(page,limit), param);
	}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值