1. 程式人生 > >記錄 SpringMVC+Mybatis環境 和 Struts + Hibernate環境 操作mysql存取BLOB資料

記錄 SpringMVC+Mybatis環境 和 Struts + Hibernate環境 操作mysql存取BLOB資料

SpringMVC+Mybatis環境 和 Struts + Hibernate環境 操作mysql存取BLOB資料

請求流程中的報文需要儲存備用,但有的報文過長,在存MySQL時選擇用BLOB型別
1. 在SpringMVC+Mybatis環境下,直接設定對應的Entity中對應的欄位為byte[]型別,存值時,直接將對應的String報文 getByte,
再存值即可取值時,直接查MySQL 的Blob型別資料到entity的byte[]再new String輸出即可,如下程式碼 
 byte[] appToRouteData = dataEntity.getAppToRouteData()
;  byte[] appFromRouteData = dataEntity.getAppFromRouteData();  System.out.println(" appToRouteData :" new String(appToRouteData));  System.out.println(" appFromRouteData :" new String(appFromRouteData)); 2.但是在Struts + Hibernate環境下操作時,則發現轉換出錯,不能設定表對應的entity的欄位為byte[]型別須設定成BLOB型別
, 然後再將BLOB型別的資料轉換成String型別輸出,具體解決程式碼如下   BLOB blobData = dataEntity.getAppToRouteData(); ByteArrayInputStream blobDataStream=(ByteArrayInputStream) blobData.getBinaryStream(); byte[] byteData = new byte[blobDataStream.available()]; blobDataStream.read(byteData, 0,byteData.length
);
String result = new String(byteData); 開發過程中遇到的問題記錄,具體是因為Struts 、SpringMvc OR Mybatis的原因,待測試。