我在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>  
往高手指点如何解决这个问题

解决方案 »

  1.   

     <parameter property="managerSign" jdbcType="BLOB" javaType="[B"/>   
    后面 javaType="byte[]"吧??
      

  2.   

    dto不要定义blob ,用 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"/>