在MySQL中用了TEXT字段,从数据库取出时需要转为字符串,存入时需要转为BLOB对象。写了如下代码:
package com.flyingzl.util;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.sql.Blob;
import org.hibernate.Hibernate;
public class Helper {
/**
* Blob字段转化成字符串
* @param blob
* @return
* @throws Exception
*/
public static String blob2String(Blob blob)throws Exception{
BufferedReader in = new BufferedReader(
new InputStreamReader(blob.getBinaryStream(),"UTF-8"));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null) {
buffer.append(line);
}
in.close();
return buffer.toString();
}
/**
* 字符串转为Blob对象
* @param content
* @return
*/
public static Blob string2blob(String content){
Blob blob=null;
try {
InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8"));
blob=Hibernate.createBlob(in);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return blob;
}
}
浙公网安备 33010602011771号