Spring 的 jdbcTemplate 对于那些只返回简单类型的查询如何处理?

爱java更爱生活 2007-12-04 09:47:18
Spring 的 jdbcTemplate 对于那些只返回简单类型的查询如何处理?

例如返回int

Public int getNumberofPersons{
return jdbcTemplate.queryForInt("select count(*) from person");
}

我想问的是如果要返回double怎么做?

jdbcTemplate 并没有提供 queryForDouble 方法

...全文
1139 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
有没有具体的例子
  • 打赏
  • 举报
回复
queryForInt只是spring提供的一些简易的方法,你可以利用它的模板--回调模式来获得任何你想要的结果或者数据类型的,具体的你可以使用execute(String sql, PreparedStatementCallback action) 这个看看,实现PreparedStatementCallback回调接口中的doInPreparedStatement方法,它的返回值是一个Object对象,你可以根据自己的需要进行转换
  • 打赏
  • 举报
回复
//得到只返回简单类型的查询(只有一个结果)
public Double getNum(String strsql) {
JdbcTemplate jt = getJdbcTemplate();
double num = (Double) jt.queryForObject(strsql, Double.class);
return num;
}

如上代码可以运行了,多谢两位!
iskyshop 2007-12-04
  • 打赏
  • 举报
回复
呵呵,你的参数写错了吧!(Double)jdbcTemplate.queryForObject("select price from xxx where id=?",new Object[]{id},java.lang.Double.class)
iskyshop 2007-12-04
  • 打赏
  • 举报
回复
说明你这个查询语句返回的不是double类型的!
  • 打赏
  • 举报
回复
用这中方法我试了
(Double)jdbcTemplate.queryForObject("select * ...")
报这个错:

The method queryForObject(String, RowMapper) in the type JdbcTemplate is not applicable for the arguments (String)
iskyshop 2007-12-04
  • 打赏
  • 举报
回复
 (Double)jdbcTemplate.queryForObject("select * ...")
  • 打赏
  • 举报
回复
大家在帮我看看
有没有现成的例子

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧