检查从JdbcTemplate

时间:2016-11-04 17:41:56

标签: java mysql average jdbctemplate

我正在尝试运行sql语句

select `key`, avg(score) from score group by `key`

查找按列键分组的平均分数。我正在使用JdbcTemplate来查询mySQL数据库。下面是java代码行

List<MarkupScore> scores = mysqlDbTemplate.query(sql, new BeanPropertyRowMapper(MarkupScore.class));

查询按照我的数据库管理器中的计划工作(下图)

Running query

但是当我尝试访问List分数时。我有一个3 MarkupScore的列表,表示按工作分组,但平均分数设置为0.我知道我的sql语句不是问题,因为它适用于实际的数据库。我认为问题是在jdbctemplate翻译sql语句的某个地方?我也尝试过运行

select avg(score) from score

并且这也返回0. jdbctemplate不支持平均值吗?

我已经包含了我正在使用的数据库的图片

datbase

1 个答案:

答案 0 :(得分:1)

由于您使用BeanPropertyRowMapper映射值,因此它尝试将名为avg(score)的列映射到不存在的类似命名的属性。为avg(score)提供映射到avg(score) AS score中正确属性的别名(即MarkupScore)。

在提问时,请将所有包含在必要的信息中。