JdbcTemplate IN子句用于String元素
我使用NamedParameterJdbcTemplate
表示Clause元素,其中一个似乎是List
。 JdbcTemplate
替换它们?,?,?…(列表大小)但是对于带有List
的IN子句,它必须是’?’,’?’….
有没有解决的办法?
还有一些其他类似的问题,可能会为您提供有用的答案:
如何有效地使用Spring的JDBCTemplate执行IN()SQL查询?
为了使这种查询方式在我的最终工作,我必须从普通的旧JDBCTemplate切换到NamedParameterJdbcTemplate
。
这是一些示例代码:
String query = "select * from table where columnName in (:listOfValues)"; List nameRecordIDs = new ArrayList (); // ... // add values to collection, then // ... Map namedParameters = Collections.singletonMap("listOfValues", nameRecordIDs); namedparameterJdbcTemplate.query(query, namedParameters,new MyMapper());