我正在尝试运行sql语句
select `key`, avg(score) from score group by `key`
查找按列键分组的平均分数。我正在使用JdbcTemplate来查询mySQL数据库。下面是java代码行
List<MarkupScore> scores = mysqlDbTemplate.query(sql, new BeanPropertyRowMapper(MarkupScore.class));
查询按照我的数据库管理器中的计划工作(下图)
但是当我尝试访问List分数时。我有一个3 MarkupScore的列表,表示按工作分组,但平均分数设置为0.我知道我的sql语句不是问题,因为它适用于实际的数据库。我认为问题是在jdbctemplate翻译sql语句的某个地方?我也尝试过运行
select avg(score) from score
并且这也返回0. jdbctemplate不支持平均值吗?
我已经包含了我正在使用的数据库的图片
答案 0 :(得分:1)
由于您使用BeanPropertyRowMapper
映射值,因此它尝试将名为avg(score)
的列映射到不存在的类似命名的属性。为avg(score)
提供映射到avg(score) AS score
中正确属性的别名(即MarkupScore
)。
在提问时,请将所有包含在必要的信息中。