Groovy不会解析占位符中的空值

时间:2019-08-22 10:32:20

标签: sql groovy

我是Groovy的新手,并且我正在使用Groovy Sql库执行带有占位符的查询。 如果我传递非null参数,则代码可以很好地工作并返回记录,但是如果某些参数为null,groovy将无法正确解析查询并且不返回任何内容。 我认为问题是这样的:在我的where条件中,无法解析具有param = null的“ field =:param”,就像“ field is null”一样, 我不想将NVL放在每个字段上,也不想做类似“ if(!param)然后查询+ =“ AND字段为空””的事情。 有什么办法吗? 这是一些代码:

 void update(Map params){
    def sql = new Sql(DbConnection)
    sql.executeUpdate(Query.UPDATE, params)
}




private static final String UPDATE = """ 
    UPDATE TEST_TABLE SET
        ID_01 = :cod01,
        ID_02 = :cod02,
        ID_03 = :cod03
    WHERE 1 = 1
        AND FIELD1 = :param1
        AND FIELD2 = :param2
"""

0 个答案:

没有答案