SpringbootDataJpa条件查询和分页

    public QueryResponseResult findAllPage(int page, int size, RequestData requestData){
        if(requestData == null){
            requestData = new RequestData();
        }
        //自定义条件查询
        //定义条件匹配器
        ExampleMatcher exampleMatcher = ExampleMatcher.matching()
                .withMatcher("chinese", ExampleMatcher.GenericPropertyMatchers.contains())
                .withMatcher("english",ExampleMatcher.GenericPropertyMatchers.contains());

        Term term = new Term();

        //设置查询条件
        if(StringUtils.isNotEmpty(requestData.getChinese())){
            term.setChinese(requestData.getChinese());
        }
        if(StringUtils.isNotEmpty(requestData.getEnglish())){
            term.setEnglish(requestData.getEnglish());
        }

        //定义条件对象Example
        Example<Term> example = Example.of(term,exampleMatcher);

        if(page<=0){
            page=1;
        }
        page=page-1;
        if(size<=0){
            size=10;
        }

        Pageable pageable = PageRequest.of(page,size);
        Page<Term> all = termRepository.findAll(example,pageable);//实现自定义条件查询并且分页查询
        QueryResult queryResult = new QueryResult();
        queryResult.setList(all.getContent());//数据列表
        queryResult.setTotal(all.getTotalElements());//数据总记录数
        QueryResponseResult queryResponseResult = new QueryResponseResult(CommonCode.SUCCESS,queryResult);
        return queryResponseResult;

    }

ExampleMatcher是一个查询条件匹配器,用来设置查询的条件是模糊查询或精确查询等等。
Example用来存放查询对象和查询方式。
Pageable用来存放页码和每页显示多少条记录,
findAll()把两个东西放进来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值