我在DTO中定义BLOB数据为java.sql.Blob managerSign,
sql-map-config.xml的定义为
<typeHandler jdbcType="BLOB" javaType="[B"
callback="org.springframework.orm.ibatis.support.BlobByteArrayTypeHandler" />
<typeHandler jdbcType="CLOB" javaType="java.lang.String"
callback="org.springframework.orm.ibatis.support.ClobStringTypeHandler" />
<!--请假管理 -->
<sqlMap resource="config/parameters/dataAccess-person-holiday-parameters.xml"/>
<sqlMap resource="config/dataAccess-person-holiday.xml"/>dataAccess-person-holiday-parameters.xml中定义为:
<parameterMap id="managerPara" class="holidayDTO">
<parameter property="upTerm" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="upCode" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="managerSign" jdbcType="BLOB" javaType="[B"/> <parameter property="manaSignResult" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="manaRefuseReason" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="holidayID" jdbcType="VARCHAR" javaType="java.lang.String"/>
</parameterMap>dataAccess-person-holiday.xml
<!--项目经理审批请假单过程 -->
<!--1.保存图片 -->
<update id="approveByManager1Sql" parameterMap="managerPara">
UPDATE PER02 SET PER02004=sysdate,PER02005=?,PER02006=?,
PER02017=?,PER02018=to_date(sysdate,'yyyy-mm-dd'),
PER02019=?,PER02020=?
WHERE PER02007=?
</update>spring中对BLOB的处理是
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"
lazy-init="true" />
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor">
<ref local="nativeJdbcExtractor" />
</property>
</bean>
往高手指点如何解决这个问题
sql-map-config.xml的定义为
<typeHandler jdbcType="BLOB" javaType="[B"
callback="org.springframework.orm.ibatis.support.BlobByteArrayTypeHandler" />
<typeHandler jdbcType="CLOB" javaType="java.lang.String"
callback="org.springframework.orm.ibatis.support.ClobStringTypeHandler" />
<!--请假管理 -->
<sqlMap resource="config/parameters/dataAccess-person-holiday-parameters.xml"/>
<sqlMap resource="config/dataAccess-person-holiday.xml"/>dataAccess-person-holiday-parameters.xml中定义为:
<parameterMap id="managerPara" class="holidayDTO">
<parameter property="upTerm" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="upCode" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="managerSign" jdbcType="BLOB" javaType="[B"/> <parameter property="manaSignResult" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="manaRefuseReason" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="holidayID" jdbcType="VARCHAR" javaType="java.lang.String"/>
</parameterMap>dataAccess-person-holiday.xml
<!--项目经理审批请假单过程 -->
<!--1.保存图片 -->
<update id="approveByManager1Sql" parameterMap="managerPara">
UPDATE PER02 SET PER02004=sysdate,PER02005=?,PER02006=?,
PER02017=?,PER02018=to_date(sysdate,'yyyy-mm-dd'),
PER02019=?,PER02020=?
WHERE PER02007=?
</update>spring中对BLOB的处理是
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"
lazy-init="true" />
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor">
<ref local="nativeJdbcExtractor" />
</property>
</bean>
往高手指点如何解决这个问题
后面 javaType="byte[]"吧??
dto:
private java.lang.String jh14;
/* 警官证照片;*/
private byte[] jgzzp15;
/* 政治面貌;*/
private java.lang.String zzmm16;
xml:
<result property="jh14" column="jh14"/>
<result property="jgzzp15" column="jgzzp15" jdbcType="BLOB"/>
<result property="zzmm16" column="zzmm16"/>