快速业务通道

Spring让LOB数据操作变得简单易行 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
型;

当结果集中包括 LOB 数据时,需要在结果集映射配置项中指定对应的 Handler 类,下面我们采用 Spring 所提供的实现类对 Post 结果集的映射进行配置。

清单 12 . 对 LOB 数据进行映射

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"   "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="Post">  <typeAlias alias="post" type="com.baobaotao.domain.Post"/>   <resultMap id="result" class="post">     <result property="postId" column="post_id"/>     <result property="userId" column="user_id"/>     <result property="postText" column="post_text" ① 读取 CLOB 类型数据     typeHandler="org.springframework.orm.ibatis.support.ClobStringTypeHandler"/>     <result property="postAttach" column="post_attach" ② 读取 BLOB 类型数据     typeHandler="org.springframework.orm.ibatis.support.BlobByteArrayTypeHandler"/>   </resultMap>  <select id="getPost" resultMap="result">   SELECT post_id,user_id,post_text,post_attach,post_time   FROM t_post WHERE post_id =#postId#  </select>  <insert id="addPost">   INSERT INTO t_post(user_id,post_text,post_attach,post_time)   VALUES(#userId#,  #postText,handler=org.springframework.orm.ibatis.support.ClobStringTypeHandler#, ③  #postAttach,handler=org.springframework.orm.ibatis.support.BlobByteArrayTypeHandler#, ④  #postTime#)  </insert> </sqlMap>

Spring让LOB数据操作变得简单易行(8)

时间:2011-02-14 IBM 陈雄华

提示

为每一个 LOB 类型字段分别指定处理器并不是一个好主意,iBatis 允许在 sql-map-config.xml 配置文件中通过 <typeHandler> 标签统一定义特殊类型数据的处理器,如:

<typeHandler jdbcType="CLOB" javaType="java.lang.String" callback="org.springframework.orm.ibatis.support.ClobStringTypeHandler"/>

当 iBatis 引擎从结果集中读取或更改 LOB 类型数据时,都需要指定处理器。我们在 ① 和 ② 处为读取 LOB 类型的数据指定处理器,相似的,在 ③ 和 ④ 处为插入 LOB 类型的数据也指定处理器。

此外,我们还必须为 SqlClientMap 提供一个 LobHandler:

清单 13. 将 LobHandler 注入到 SqlClientMap 中

<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler"   lazy-init="true" /> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">   <property name="dataSource" ref="dataSource" />   <property name="lobHandler" ref="lobHandler" /> ①设置LobHandler   <property name="configLocation"     value="classpath:com/baobaotao/dao/ibatis/sql-map-config.xml" /> </bean>

处理 LOB 数据时,Spring 要求在事务

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号