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)