记录 SpringMVC+Mybatis环境 和 Struts + Hibernate环境 操作mysql存取BLOB数据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BinCain1993/article/details/80063911
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的原因,待测试。

猜你喜欢

转载自blog.csdn.net/BinCain1993/article/details/80063911