Я пытаюсь использовать драйвер Calcite Avatica JDB C, вызывающий образец базы данных Druid с помощью проекта Spring Boot. Следуя большинству примеров, я создал этот запрос, и он выдает исключение, если я передаю 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"));
}
);
Вот исключение
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"), "");
}