gpt4 book ai didi

java - 将 sql 参数传递给 jdbcTemplate.query 时,我收到带有对象参数的 SQLException

转载 作者:行者123 更新时间:2023-12-01 18:00:02 30 4
gpt4 key购买 nike

我正在尝试使用 Calcite Avatica JDBC 驱动程序通过 Spring Boot 项目调用示例 Druid 数据库。按照大多数示例,我设计了这个查询,如果我传递 new Object[] { cityName } ,它会抛出异常。但是,如果我传递 Object[] {} 我不会得到同样的异常。

        String cityName =  "Aachen";
results = jdbcTemplate.query("SELECT cityName, countryName FROM wikipedia WHERE cityName = ?",
new Object[] { cityName },
(rs, rowNum) -> {
return new City(cityName, rs.getString("countryName"));
}
);

这是一个异常(exception)

org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT cityName, countryName FROM wikipedia WHERE cityName = ?]; SQL state [00000]; error code [-1]; Error -1 (00000) : while preparing SQL: SELECT cityName, countryName FROM wikipedia WHERE cityName = ?; nested exception is org.apache.calcite.avatica.AvaticaSqlException: Error -1 (00000) : while preparing SQL: SELECT cityName, countryName FROM wikipedia WHERE cityName = ?

如果我切换到 NamedParameterJdbcTemplate

,我什至会遇到相同的异常
namedParameterJdbcTemplate.query("SELECT cityName, countryName, comment FROM wikipedia WHERE cityName = :cityName",
new MapSqlParameterSource()
.addValue("cityName", "Aachen"),
(rs, rowNum) -> {
return new SponsoredPostStats(sponsoredPostId, rs.getInt("views"), "");
}

最佳答案

查看错误列表 - Druid 不支持准备好的语句。

关于java - 将 sql 参数传递给 jdbcTemplate.query 时,我收到带有对象参数的 SQLException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60654218/

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