jdbcTemplate使用总结1

本文介绍了在使用Spring JdbcTemplate进行Oracle数据库查询时遇到的UncategorizedSQLException异常的原因及解决方法,包括引入Oracle驱动jar包和自定义ResultSetExtractor类来获取Oracle CachedRowSet。同时强调了在使用JdbcTemplate时应避免执行更新操作以保护Hibernate的二级缓存体系。
摘要由CSDN通过智能技术生成
SqlRowSet rs = jdbcTemplate.queryForRowSet(sql, params);
Tips1: jdbcTemplate有很多的ORM化回调操作将返回结果转为对象列表,但很多时候还是需要返回ResultSet,Spring有提供一个类似ResultSet的,实现JDBC3.0 RowSet接口的 Spring SqlRowSet。两个类似的类,RowSet简单的封装了一层resultset,使用起来可能有点区别,使用jdbcTemplate.queryForRowSet()遇到UncategorizedSQLException:Invalid precision value. Cannot be less than zero的异常,原因:
it was caused by Oracle's drivers not correctly supporting the CachedRowSet interface.
解决办法是creating an ResultSetExctractor class that implements ResultSetExtractor and used that to get an OracleCachedRowSet implementation of SqlRowSet. To use this you will need to include the oracle driver jar in your project (used ojdbc5.jar).

Tips2:.注意jdbcTemplate尽量只执行查询操作,莫要进行更新,否则会破坏Hibernate的二级缓存体系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值