JAVA+ibatis+DB2:blob型別欄位如何處理(解決中文亂碼)
阿新 • • 發佈:2019-01-27
(一)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")) ;