您的位置:首页 > 其它

基于MybatisPlus3.3.1.tmp分页查询实现

2020-06-10 04:19 357 查看

service层

/**** @param map 查询参数* @param page 设置一共多少页* @param size 每页显示多少数据* @return*/public Page<Article> findByPage(Map<String,Object> map, Integer page, Integer size) {//查询条件控制语句QueryWrapper wrapper = new QueryWrapper<Article>();Set<String> fieldSet = map.keySet();for(String field : fieldSet) {wrapper.eq(field, map.get(field));wrapper.eq(null != map.get(field), field, map.get(field));}//设置分页Page<Article> pageData = new Page<Article>(page, size);//利用条件查询pageData =articleDao.selectPage(pageData, wrapper);return pageData;}

Controller层

/**** @param map 查询条件* @param page 页数* @param size 每天显示数据量* @return*/@PostMapping("/search/{page}/{size}")public Result findByPage(@RequestBody Map<String,Object> map, @PathVariable int page, @PathVariable int size) {//调用service层方法 获取数据Page<Article> pageData = articleService.findByPage(map, page, size);//封装 查询出来的数据到自定义工具类PageResult中PageResult<Article> pageResult = new PageResult<>(pageData.getTotal(),pageData.getRecords());return new Result(true, StatusCode.OK, "查询成功", pageResult);}

自定义PageResult

package entity;import java.util.List;public class PageResult<T> {private Long total;private List<T> rows;public PageResult() {}public PageResult(Long total, List<T> rows) {this.total = total;this.rows = rows;}public Long getTotal() {return total;}public void setTotal(Long total) {this.total = total;}public List<T> getRows() {return rows;}public void setRows(List<T> rows) {this.rows = rows;}@Overridepublic String toString() {return "PageResult{" +"total=" + total +", rows=" + rows +'}';}}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: