如何使用SpringTemplate + JDBCTemplate发送日期列表作为sql查询的一部分

时间:2015-07-14 12:30:47

标签: java mysql spring postgresql jdbctemplate

好吧,我有这样的查询:

SELECT * FROM table WHERE someDate IN (date1, date2, date3);

我正在尝试使用ST(SpringTemplate)构建它,并使用JDBCTemplate进行查询。

如果我只传递一个日期,我可以使用:

stringTemplateInstance.add("someColKey",dateInstance);

但是如何发送日期列表以便IN子句获得它?。

现在,我正在使用StringUtils.collectionToCommaDelimitedString(dateListForQuery);查询(我不喜欢)。

1 个答案:

答案 0 :(得分:1)

放弃StringTemplateJdbcTemplate,然后切换到NamedParameterJdbcTemplate

String query = "select * from table where someDate in (:dates)";
Map<String, Object> params = new HashMap<String, Object>();
params.put("dates", yourlistofdates);

List<YourResultType> result = template.query(query, params, new YourResultTypeRowMapper());

就是这样。