本站首页    管理页面    写新日志    退出


«July 2018»
1234567
891011121314
15161718192021
22232425262728
293031


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9042745
建立时间:2004年12月20日




[java语言]spring JdbcTemplate 的queryForObject的若干问题
原创空间,  软件技术

邢红瑞 发表于 2005-11-12 15:33:39

spring的javadoc上讲getObject(String, Object[], Class) will return NULL if the result of the query is NUL这里有0行和nullresult的区别0行: select salary from user where 1 = 2null result: select max(salary) from user where 1 = 2 返回就是null0行一定抛出IncorrectResultSizeDataAccessException异常原因如下ResultSetMetaData rsmd = rs.getMetaData();int nrOfColumns = rsmd.getColumnCount();这里返回ResultSet的列数  if (nrOfColumns != 1) {   throw new IncorrectResultSizeDataAccessException(     "Expected single column but found " + nrOfColumns, 1, nrOfColumns);  }0行,多于1行,就抛异常了 最好还是用QueryForList,返回的list的size为0,就是0行 还有oracle 10g的问题,jdbc驱动版本10.1.0.20getObject返回一个日期类型为java.util.Date但是这个日期只有年-月-日,没有时-分-秒,因为10g对于DATE类型的列,getObject().getClass().getName()得到 java.sql.DateSystem.out.println(rs.getObject("date_created") + " " + rs.getObject("date_created").getClass());得到 2005-10-06 class java.sql.Date要得到全部日期,必须使用oracle.sql.TIMESTAMP但是使用queryForObject("sql", Timestamp.class) 得到org.springframework.dao.TypeMismatchDataAccessException异常java.sql.Timestamp] and could not be converted to required type [java.sql.Timestamp] 很是莫名其妙只好使用java -Doracle.jdbc.V8Compatibility="true" MyApp解决


阅读全文(19578) | 回复(2) | 编辑 | 精华
 


回复:spring JdbcTemplate 的queryForObject的若干问题
原创空间,  软件技术

jiez(游客)发表评论于2012-11-24 22:46:32

3q~

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:spring的queryForObject的若干问题
原创空间,  软件技术

antony1029发表评论于2005-11-11 2:47:56

初学JAVA

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144059496 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号