1.插入,修改Clob类型:
ibatis语句:content=#content:CLOB#
如果bean里定义为String类型的,直接用resultClass,不能把CLOB类型值赋值给String;
必须使用resultMap来定义jdbcType和javaType,如:
<resultMap class="fastrise.work.obj_class.Pub_Msg" id="pub_msg_rm">
<result property="pub_msg_id" column="PUB_MSG_ID"/>
<result property="pub_msg_title" column="PUB_MSG_TITLE"/>
<result property="pub_msg_content" column="PUB_MSG_CONTENT" jdbcType="CLOB" javaType="java.lang.String" />
<result property="pub_msg_senddate" column="PUB_MSG_SENDDATE"/>
<result property="pub_msg_creater" column="PUB_MSG_CREATER"/>
</resultMap>
以上是用来对于select使用的,因为返回的list里是自动封装好的bean对象,直接使用resultClass的话,也可以返回封装好bean的list,但是对于Clob字段里的值是null.
2.ibatis对clob字段的插入修改,数据过长的问题:
使用9i数据本身提供的jdbc驱动不能完美支持大数据文本,一直提示数据超过大小,也试过改配置:
在SqlMapConfig.xml里的事务配置数据源里加配置
<property name="SetBigStringTryClob" value="true"/>
还是不行,查了很多资料,找个10g的jdbc驱动,不要用class12.jar,这个是支持老版本jdk,实在不好用
上官网找最新的10g的jdbc驱动ojdbc14.jar,更新工程,正常可以插入大数据了.
(鄙视下oracle,下个驱动还要我注册。。。)
oracle 10g jdbc驱动地址:
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html
Blob类型应该类似,但没实际使用过。
参考文章:http://opensource.atlassian.com/confluence/oss/display/IBATIS/How+do+I+use+a+BLOB+or+CLOB
英文的,不过多数看的懂意思,比较简单,看来还是多数英文的资料可靠;上国内的网找资料,多数是这里,那里复制
过来的,很多都一字不差。