1. 程式人生 > >JAVA+ibatis+DB2:blob型別欄位如何處理(解決中文亂碼)

JAVA+ibatis+DB2:blob型別欄位如何處理(解決中文亂碼)

(一)JAVA類

將資料庫中blob型別對映為JAVA中的byte[]型別

(二)XXXDAO.xml

XXXDAO.xml中的<resultMap>節點寫法如下:
<result property="remark1" column="REMARK_1" javaType="[B" jdbcType="BLOB" />

update語句如下
<update id="PlantixStudioGenerated_updateMaterial" parameterClass="material">
update T_001_WEIXIN_MATERIALMNG set MEDIA_ID=#mediaId:VARCHAR#, TIME=#mngTime:TIMESTAMP#, REMARK_1=#remark1:BLOB#  where MEDIA_ID=#mediaId:VARCHAR#
</update>


(三)解決blob欄位中文亂碼

確保資料庫編碼為utf-8.

入庫前String轉byte[]時,設定編碼為utf-8,如materialDomain.setRemark1(remark1.getBytes("UTF-8")) ;
從庫讀出後byte[]轉String時也要設定編碼為utf-8,如materialVO.setRemark1(materialDomain.getRemark1() == null ? "":new String(materialDomain.getRemark1(),"UTF-8")) ;