从 JdbcTemplate 检查 sql 语句是 运行
Checking the sql statement being run from JdbcTemplate
我正在尝试 运行 sql 声明
select `key`, avg(score) from score group by `key`
查找按列键分组的平均分。我正在使用 JdbcTemplate 来查询 mySQL 数据库。下面是java行代码
List<MarkupScore> scores = mysqlDbTemplate.query(sql, new BeanPropertyRowMapper(MarkupScore.class));
查询在我的数据库管理器中按计划工作(下图)
但是当我尝试访问列表分数时。我有一个包含 3 个 MarkupScore 的列表,它表示工作组,但平均分数设置为 0。我知道我的 sql 语句不是问题,因为它适用于实际数据库。我认为问题出在 jdbctemplate 翻译 sql 语句时?我也试过 运行 只是
select avg(score) from score
这个也是returns一个0。jdbctemplate不支持average吗?
我在下面附上了我正在使用的数据库的图片
由于您使用 BeanPropertyRowMapper
映射值,它试图将名为 avg(score)
的列映射到不存在的类似名称的 属性。给 avg(score)
一个映射到 MarkupScore
.
中正确 属性 的别名(即 avg(score) AS score
)
并且在提问时,包括所有必要的信息。
我正在尝试 运行 sql 声明
select `key`, avg(score) from score group by `key`
查找按列键分组的平均分。我正在使用 JdbcTemplate 来查询 mySQL 数据库。下面是java行代码
List<MarkupScore> scores = mysqlDbTemplate.query(sql, new BeanPropertyRowMapper(MarkupScore.class));
查询在我的数据库管理器中按计划工作(下图)
但是当我尝试访问列表分数时。我有一个包含 3 个 MarkupScore 的列表,它表示工作组,但平均分数设置为 0。我知道我的 sql 语句不是问题,因为它适用于实际数据库。我认为问题出在 jdbctemplate 翻译 sql 语句时?我也试过 运行 只是
select avg(score) from score
这个也是returns一个0。jdbctemplate不支持average吗?
我在下面附上了我正在使用的数据库的图片
由于您使用 BeanPropertyRowMapper
映射值,它试图将名为 avg(score)
的列映射到不存在的类似名称的 属性。给 avg(score)
一个映射到 MarkupScore
.
avg(score) AS score
)
并且在提问时,包括所有必要的信息。