多条件模糊分页查询(angular+primeng+springboot)

在实现了分页查询后,我原本的项目之前的模糊查询失效,之前是传一个封装好的实体对象给后端,后端通过这个对象查询后返回结果给到前端。由于实现了分页,所以查询得到的结果也需要分页。

有个很关键的问题是分页需要传pageNumpageSize这两个参数,后端@RequestBody一次只能接收一个对象(@RequestBody是读取的流的方式, 在取 body参数时第一个参数取到后把request.getInputStream()关闭,一个请求中只包含一个request body)。而我要进行的查询又需要传一个对象,在走了一些弯路后想到:为什么不把pageNum和pageSize以及需要的实体整合成一个新的对象,传给后端后再分开获取值呢?这样虽然比较麻烦,但是没有其他思路我就这么试了,确实可以实现想要的多条件分页模糊查询。

后端实现

**注意:**要先导入PageHelper和Lombok插件,具体操作可以查看我的上一篇博客。

  1. 新建一个实体类

    @Data
    @NoArgsConstructor
    public class FundPage {
         
        private String fundCode;
        private String fundFullName;
        private String custodianCode;
        private String fundCategory;
        private String needReview;
        private Integer pageNum;
        private Integer pageSize;
    }
    
  2. dao层和mapper文件不需要更改,修改service层和实现类的业务函数

    //原本的service层函数
    List<FundInfo> getLots(FundInfo fundInfo)
    //改写后
    PageInfo<FundInfo> getLots(FundInfo fundInfo,Integer pageNum,Integer pageSize);
    //service的实现类
    @Override
        public PageInfo<FundInfo> getLots(FundInfo fundInfo,Integer pageNum,Integer pageSize) {
         
            FundInfoExample example = new FundInfoExample();
            FundInfoExample.Criteria criteria = example.createCriteria();
            if (fundInfo.getFundCode() != null) {
         
                criteria.andFundCodeLike("%" + fundInfo.getFundCode() + "%");
            }
            if (fundInfo.getCustodianCode() != null) {
         
                criteria.andCustodianCodeLike("%" + fundInfo.getCustodianCode() + "%");
            }
            if (fundInfo.getFundFullName
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值