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

本文介绍了如何在Angular+Primeng应用中结合SpringBoot实现多条件模糊分页查询。作者在后端创建了一个新的实体类,结合PageHelper和Lombok进行分页处理。在前端,利用组件间通信解决分页数据的实时渲染问题。通过监听表单提交和数据变更,实现实时更新表格。
摘要由CSDN通过智能技术生成

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

有个很关键的问题是分页需要传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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值