如何使用 Spring JDBC 模板查询查询 Double

Posted

技术标签:

【中文标题】如何使用 Spring JDBC 模板查询查询 Double【英文标题】:How to query for Double with Spring JDBC template query 【发布时间】:2010-06-15 09:03:53 【问题描述】:

如何使用 Spring JDBC Temple 查询双精度数?

例如:

public double getAverageScore() 
    return jdbctemplate.queryFor???("select avg(score) from test");

有queryForInt和queryForLong,但没有queryForDouble

【问题讨论】:

【参考方案1】:

我没有对此进行测试,但queryForObject 和Double.class 作为最后一个参数可能会起作用。

public double getAverageScore() 
    return jdbctemplate.queryForObject("select avg(score) from test", Double.class);

【讨论】:

【参考方案2】:
public double getAverageScore() 
    return jdbctemplate.queryForObject("select avg(score) from test", Double.class);

【讨论】:

题外话,只是有趣的是为什么 Spring 没有用于 Double 和 Long 的便捷方法,而有一个用于 Int 和 Long 的方法【参考方案3】:
public Double avgByCampo(Long param) 
   return simpleJdbcTemplate.queryForObject("SELECT avg(t.campo) FROM table t where t.id_campo = ?", Double.class, param);

【讨论】:

以上是关于如何使用 Spring JDBC 模板查询查询 Double的主要内容,如果未能解决你的问题,请参考以下文章

Spring JDBC Template 无法执行 FROM 子句中包含嵌套查询的查询

Spring jdbc模板连接在读取clob对象时关闭异常

如何使用spring将查询外部化到xml文件

Spring Boot jdbc模板在自定义模式下的postgres中找不到表

Spring jdbc模板:将sql语句保留在代码之外的最佳方法是啥

jooq 的限制和偏移问题