返回数据类
@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);
}