Java Jdbctemplate查询具有命名参数和行映射器的列表?
我试图实现一个Java Jdbctemplate查询具有命名参数和行映射器的列表?,java,mysql,jdbc,spring-jdbc,jdbctemplate,Java,Mysql,Jdbc,Spring Jdbc,Jdbctemplate,我试图实现一个Jdbctemplate查询方法,该方法将使用命名参数映射和行映射器作为附加参数 到目前为止,我有以下几点: final SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("searchTerm", "%" + text + "%"); List<Map<String, String>> result = (List<Map<String,
Jdbctemplate
查询方法,该方法将使用命名参数映射和行映射器作为附加参数
到目前为止,我有以下几点:
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;
final SqlParameterSource namedParameters=new-MapSqlParameterSource().addValue(“searchTerm”,“%”+text+“%”);
列表结果=(列表)jdbcTemplate.queryForList(查询,namedParameters,(结果集rs)->
{
列表行=新建ArrayList();
while(rs.next())
{
Map row=newhashmap();
for(int x=0,j=queryColumns.length;x
这给了我以下错误:
错误:(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执行此类查询,以及如何执行此操作?命名参数通过NamedParameterJdbcTemplates支持。 您可以使用以下内容:
final Map<String, Object> namedParameters = Collections.singletonMap("searchTerm", "%" + text + "%");
List<Map<String, String>> result = new NamedParameterJdbcTemplate(jdbcTemplate).query(query, namedParameters, (rs, rowNum) ->
{
Map<String, String> row = new HashMap<>();
for (int x = 0, j = queryColumns.length; x < j; x++) {
row.put(queryColumns[x], rs.getString(queryColumns[x]));
}
return row;
});
return result;
final Map namedParameters=Collections.singletonMap(“searchTerm”,“%”+text+“%”);
列表结果=新名称参数jdbcTemplate(jdbcTemplate)。查询(查询,名称参数,(rs,rowNum)->
{
Map row=newhashmap();
for(int x=0,j=queryColumns.length;x