gpt4 book ai didi

java - 使用 NamedParameterJDBCTemplate 选择几列

转载 作者:行者123 更新时间:2023-11-30 07:04:36 25 4
gpt4 key购买 nike

我在 Spring 中使用 NamedParameterJDBCTemplate 并尝试仅选择少数列而不是所有列。但我面临一个错误 - org.SpringFramework.BadSqlGrammarException。

我的 DAO 类具有以下代码。

@Autowired
private NamedParameterJdbcTemplate npjt;

... // Some other code

String query = "SELECT t.name AS NAME, t.city AS CITY FROM t WHERE t.country = :countryName";
MapSqlParameterSource param = new MapSqlParameterSource();
param.addValue("countryName", "GERMANY");
List<Person> pl = npjt.query(sql,param, new PersonMapper()); // Throws org.SpringFramework.BadSqlGrammarException

Person模型类如下。

public class Person {
String name;
String city;
String country;
String address;

// All getters & setters
}

Mapper类如下。

public class PersonMapper implements RowMapper {

public Person mapRow(ResultSet rs, int rowNum) throws SQLException {
Person p = new Person();
p.setName(rs.getString("NAME"));
p.setCity(rs.getString("CITY"));
return p;
}

}

仅当选择几列时才会出现错误。当执行 select * 时,一切正常。

最佳答案

您的查询看起来很糟糕。尝试使用

String query = "SELECT t.name AS NAME, t.city AS CITY FROM Person t WHERE t.country =        :countryName";

假设您的表/类名称是“Person”。否则将“Person”替换为正确的表名称

关于java - 使用 NamedParameterJDBCTemplate 选择几列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40363237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com