【问题标题】:How to replace param in commas?如何用逗号替换参数?
【发布时间】:2015-10-12 12:44:35
【问题描述】:

我尝试用namedParameterJdbcTemplate替换由逗号包裹的参数,但它不起作用:

这段代码(groovy)

def params = [hours: 24]
def query = "SELECT count(*) FROM Movie WHERE (now() - last_updated) < interval ':hours hours'"
def rowCount = namedParameterJdbcTemplate.queryForInt(query, params);

返回

嵌套异常是 org.postgresql.util.PSQLException: ERROR: invalid 类型间隔的输入语法:":hours hours"

如何用namedParameterJdbcTemplate替换逗号中的参数?

【问题讨论】:

标签: java postgresql groovy spring-jdbc jdbctemplate


【解决方案1】:

This answer 帮助了我。这是固定版本 - 它可以工作,但我不确定这是解决问题的最佳方法:

def params = [hoursInterval: hours + " hours"]
def query = "SELECT count(*) FROM Movie WHERE (now() - last_updated) < :hoursInterval::INTERVAL"
def rowCount = namedParameterJdbcTemplate.queryForInt(query, params);

【讨论】:

    猜你喜欢
    • 2016-09-05
    • 2018-07-06
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    • 2017-06-20
    • 1970-01-01
    相关资源
    最近更新 更多