学无先后,达者为师

网站首页 java综合 正文

Java实现分页与条件查询

作者:7258281014 更新时间: 2022-09-22 java综合

目录

  • 一、分页查询
  • 二、条件查询

一、分页查询

配置文件新增

   /**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }

案例
在这里插入图片描述
响应示例

{
    "success": true,
    "code": 200,
    "message": "请求成功",
    "data": {
        "total": 5,
        "rows": [
            {
                "id": 2,
                "name": "八戒",
                "gender": "男",
                "phone": "15733334444",
                "createTime": "2022-09-19 17:37:18",
                "updateTime": "2022-09-19 17:37:28"
            },
            {
                "id": 3,
                "name": "嫦娥",
                "gender": "女",
                "phone": "15855556666",
                "createTime": "2022-09-19 17:37:18",
                "updateTime": "2022-09-19 17:37:28"
            },
            {
                "id": 5,
                "name": "玉帝",
                "gender": "男",
                "phone": "13421212121",
                "createTime": "2022-09-20 15:21:57",
                "updateTime": "2022-09-20 15:21:57"
            }
        ]
    }
}

二、条件查询

查询对象

@Data
public class UserQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    private String name;

    private String gender;

    private String begin;

    private String end;
}

service 接口及实现

public interface UserService extends IService<User> {

    void pageQuery(Page<User> pageParam, UserQuery userQuery);

}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

    @Override
    public void pageQuery(Page<User> pageParam, UserQuery userQuery) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.orderByAsc("id");
        if (userQuery == null){
            baseMapper.selectPage(pageParam, queryWrapper);
            return;
        }
        String name = userQuery.getName();
        String gender = userQuery.getGender();
        String begin = userQuery.getBegin();
        String end = userQuery.getEnd();
        if (!StringUtils.isEmpty(name)) {
            queryWrapper.like("name", name);
        }
        if (!StringUtils.isEmpty(gender) ) {
            queryWrapper.eq("gender", gender);
        }
        if (!StringUtils.isEmpty(begin)) {
            queryWrapper.ge("create_time", begin);
        }
        if (!StringUtils.isEmpty(end)) {
            queryWrapper.le("update_time", end);
        }
        baseMapper.selectPage(pageParam, queryWrapper);
    }
}

controller

    @PostMapping("{pageNum}/{pageSize}")
    public Result pageQuery(@PathVariable Long pageNum, @PathVariable Long pageSize, @RequestBody(required = false) UserQuery userQuery) {
        Page<User> pageParam = new Page<>(pageNum, pageSize);
        userService.pageQuery(pageParam, userQuery);
        List<User> records = pageParam.getRecords();
        long total = pageParam.getTotal();
        return Result.success().data("total", total).data("rows", records);
    }

响应示例
在这里插入图片描述

原文链接:https://blog.csdn.net/qq_41610957/article/details/126955926

栏目分类
最近更新