我正在尝试实现一个 Jdbctemplate
将命名参数Map和行Map器作为附加参数的查询方法。
到目前为止,我有以下几点:
final SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("searchTerm", "%" + text + "%");
List<Map<String, String>> result = (List<Map<String, String>>)jdbcTemplate.queryForList(query, namedParameters, (ResultSet rs) ->
{
List<Map<String, String>> rows = new ArrayList<>();
while (rs.next())
{
Map<String, String> row = new HashMap<>();
for (int x = 0, j = queryColumns.length; x < j; x++) {
row.put(queryColumns[x], rs.getString(queryColumns[x]));
}
rows.add(row);
}
return rows;
});
return result;
这会导致以下错误:
错误:(67,83)java:找不到适合queryforlist的方法(java.lang.string,org.springframework.jdbc.core.namedparam.sqlparametersource,(resultset[…]ws;})方法org.springframework.jdbc.core.jdbctemplate.queryforlist(java.lang.string,java.lang.class)不适用(无法推断类型变量t(实际参数列表和形式参数列表长度不同))方法org.springframework.jdbc.core.jdbctemplate.queryforlist(java.lang.string,java.lang.object[],int[],java.lang.class)不适用。。。。
有没有可能使用jdbctemplate进行这种查询,我该怎么做呢?
1条答案
按热度按时间vlurs2pr1#
namedparameterjdbctemplates支持命名参数。你可以用这样的方法: