精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-16
读了Klyuan的"Ibatis读写CLOB数据", 感觉受益良多。其中涵盖了利用ibatis插入数据库BLOB/CLOB数据的四种方法. 其中尤属采用10g的驱动,和通过配置parameterMap和resultMap的方法最为简单,且没有局限性.可视为一个完美的解决方案. 四种方法中我尝试了除jdbc以外的三种方法, 在一开始都没有成功.最后发觉是oracle的驱动的问题. 原来用的是classes12.jar. 当使用最后一种采用oracle10g驱动的方法时, 他会报" java.sql.SQLException:数据大小超出此类型的最大值: 105542". 而当通过实现ibatis的回调接口来实现时,它会报oracle错误"ORA-24813: 不能发送或接收不受支持的 LOB" . 以下是我写的一个OracleBlobTypeHandlerCallback. 在原文中只有OracleClobTypeHandlerCallback. java 代码
在换成ojdbc14.jar驱动后,问题解决了. 呵呵! 在我sql文件中并没有使用parameterMap, 这是因为当我指定blob字段的javaType为"[]byte"时, 在tomcat服务器启动时会报错: java.lang.ClassNotFoundException: []byte. 目前问题仍未解决..... 另外我对原文中对前三种方法的分析有些还不是很明白. --引用原文 上面三种方法都存在的问题: -- 对于第二点中提到的spring提供的处理器不支持数据连接池的数据源, 还有第三点提到的局限性还有待以后好好领悟.
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 4495 次