【问题标题】:Search by a parameter on a database using spring使用弹簧在数据库上搜索参数
【发布时间】:2019-05-28 14:15:13
【问题描述】:

我有这两个 ID,ID_A 和 ID_B。

我想要做的是根据这两个 id 进行搜索,但用户不需要两个输入它们两个。

比如我有两个输入框供用户输入ID_A和ID_B。

当使用 ID_A 搜索对象时,我希望我的查询忽略我的 ID_B(使其成为默认值-NOT NULL)。在数据库上可以使用通配符 '%' 做到这一点,但我不知道如何在春天做到这一点。两个 ID 都是 BigDecimals。

我试过了

if(ID_A==null)
substituteParmeter(ID_A)

替换参数方法将某个参数的当前值更改为通配符'%'。但是在执行此查询时:

Select t from Table t where t.ID_A like :id_a and t.ID_B like :id_b

如果 id_a 或 id_b 是 '%',程序会发现错误,发现 '%' 并且它应该是一个 bigDecimal。

我怎样才能绕过这个错误?

谢谢。

【问题讨论】:

  • 字段可以使用 null

标签: java database spring


【解决方案1】:

您可以使用如下查询:

Select t from Table t where :id_a  is null or t.ID_A  like :id_a and  :id_b is null or t.ID_B like :id_b  

希望这对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 2017-01-03
    • 2019-02-26
    • 1970-01-01
    相关资源
    最近更新 更多