一个接口模糊查询startDate和endDate查不到数据

事情是这样的:

在postman里调我的这个接口传一个contractStartDate,可以查到数据,如下:共10条

入参:pageSize:10,pageIndex:1和quoteId:f29cc3c3-2c4e-4e9c-ba75-cfd61d11cc81,contractStartDate:2021-06-30

image

在postman里调我的这个接口传一个contractEndDate,查不到数据,开始以为是我自己哪个字母写错了或者自己的sql问题,前提是我写的unit test都跑通了,并且navicat里查可以查到,如下:共10条,这两个字段的类型是date类型

image
image

我在postman里把contractEndDate传2021-10-01可以查到,如下:

image

贴上我的代码里的sql:

@Query(value ="SELECT * FROM mc_contract contract WHERE contract.quote_id = :quoteId " +

"and (:country is null or contract.country = :country) " +

"and (:dmu is null or contract.dmu = :dmu) " +

"and contract.status is not null and (:status is null or contract.status = :status) " +

"and (:contractType is null or contract.contract_type = :contractType) " +

"and (:fulfillmentMethod is null or contract.fulfillment_method = :fulfillmentMethod) " +

"and (:contractEndDate is null or contract.contract_end_date <= :contractEndDate) " +

"and (:contractStartDate is null or contract.contract_start_date >= :contractStartDate) ", nativeQuery =true)

Page<MCContract> query(@Param("quoteId") String quoteId, @Param("country") String country,

                      @Param("dmu") String dmu, @Param("status") String status, @Param("contractType") String contractType,

                      @Param("fulfillmentMethod") String fulfillmentMethod, @Param("contractStartDate") LocalDate contractStartDate,

                      @Param("contractEndDate") LocalDate contractEndDate, Pageable pageable);
最终修改

将传进来的contractEndDate加一天


image.png

原生sql改成了jpa封装sql

@Query(value = "SELECT contract FROM MCContract contract WHERE contract.quoteId = :quoteId " +
        "and (:country is null or contract.country = :country) " +
        "and (:dmu is null or contract.dmu = :dmu) " +
        "and contract.status is not null and (:status is null or contract.status = :status) " +
        "and (:contractType is null or contract.contractType = :contractType) " +
        "and (:fulfillmentMethod is null or contract.fulfillmentMethod = :fulfillmentMethod) " +
        "and (:contractEndDate is null or contract.contractEndDate <= :contractEndDate) " +
        "and (:contractStartDate is null or contract.contractStartDate >= :contractStartDate) ")
    Page<MCContract> query(@Param("quoteId") String quoteId, @Param("country") String country,
                           @Param("dmu") String dmu, @Param("status") String status, @Param("contractType") String contractType,
                           @Param("fulfillmentMethod") String fulfillmentMethod, @Param("contractStartDate") LocalDate contractStartDate,
                           @Param("contractEndDate") LocalDate contractEndDate, Pageable pageable);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,061评论 19 139
  • [TOC] 一、基本概念 1、为什么要使用数据库? 数据存放的位置通常由两个地方,内存和硬盘,存放在内存中的数据访...
    yaco阅读 5,014评论 0 5
  • Getting Started Use the Current Stable Version (7.1) Buil...
    Leonzai阅读 5,979评论 0 3
  • SQL语言基础 本章,我们将会重点探讨SQL语言基础,学习用SQL进行数据库的基本数据查询操作。另外请注意本章的S...
    厲铆兄阅读 10,712评论 2 46
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,748评论 28 53

友情链接更多精彩内容