日期:2014-05-20  浏览次数:20806 次

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

例如返回int

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

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

jdbcTemplate 并没有提供 queryForDouble 方法



------解决方案--------------------
queryForInt只是spring提供的一些简易的方法,你可以利用它的模板--回调模式来获得任何你想要的结果或者数据类型的,具体的你可以使用execute(String sql, PreparedStatementCallback action) 这个看看,实现PreparedStatementCallback回调接口中的doInPreparedStatement方法,它的返回值是一个Object对象,你可以根据自己的需要进行转换

------解决方案--------------------
Java code
 (Double)jdbcTemplate.queryForObject("select * ...")

------解决方案--------------------
说明你这个查询语句返回的不是double类型的!
------解决方案--------------------
呵呵,你的参数写错了吧!(Double)jdbcTemplate.queryForObject("select price from xxx where id=?",new Object[]{id},java.lang.Double.class)