Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jdbctemplate查询具有命名参数和行映射器的列表?_Java_Mysql_Jdbc_Spring Jdbc_Jdbctemplate - Fatal编程技术网

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