1.写入Blob字段
CsOaMail mail = new CsOaMail(from, to[0], null, null, subject,new Date(), null, "0", sentFolderId);
mail.setContent(Hibernate.createBlob(content.getBytes("UTF-8")));
cm = (CsOaMail) emailDAO.save(mail);//保存入库
2.BLob to String
csMail = (CsOaMail) emailDAO.get(CsOaMail.class, id); // 取出邮件信息
// 处理邮件内容信息 BLOB to string
Blob blob=csMail.getContent();
InputStream ins = blob.getBinaryStream();
byte[] c = new byte[(int) blob.length()];
ins.read(c);
String contentString = new String(c);
csMail.setContentString(contentString);
ins.close();
1.写入Clob
mail.setContent(Hibernate.createBlob(content);
2.string to Clob
java.sql.Clob c = new javax.sql.rowset.serial.SerialClob("abc".toCharArray());
3.
/**
* Clob数据转为String
*
* @param clob
* @return
*/
public String doClobToString(Clob clob) {
if (null == clob)
return null;
Reader reader = null;
StringBuffer sb = new StringBuffer();
BufferedReader bfReader = null;
try {
reader = clob.getCharacterStream();
// 得到流
bfReader = new BufferedReader(reader);
String s = bfReader.readLine();
while (null != s) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
s = bfReader.readLine();
}
} catch (Exception e) {
e.getCause();
} finally {
try {
if (null != reader)
reader.close();
if (null != bfReader)
bfReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (sb.toString().equals(""))
return null;
else
return sb.toString();
}