Hibernate Blob和Clob

2014-11-24 07:56:14 · 作者: · 浏览: 0

Blob:
[java]
public static void blobOperate() throws IOException, InterruptedException, SQLException {
Session sess = new Configuration().configure("main.xml")
.buildSessionFactory().getCurrentSession();
sess.beginTransaction();

InputStream in=new FileInputStream(new File("F:\\a.jpg"));
BufferedInputStream bf=new BufferedInputStream(in);
Blobtype ct = new Blobtype(1,Hibernate.createBlob(bf));
in.close();
sess.save(ct);




Blobtype by=(Blobtype)sess.get(Blobtype.class, 1);
OutputStream out=new FileOutputStream(new File("F:\\b.jpg"));
out.write(by.getContent().getBytes(1, (int)by.getContent().length()));
out.close();
sess.getTransaction().commit();
}

Clob:
[java]
public static void clobOperate() throws IOException, SQLException {
Session sess = new Configuration().configure("main.xml")
.buildSessionFactory().getCurrentSession();
sess.beginTransaction();
BufferedReader bf = new BufferedReader(new InputStreamReader(
new FileInputStream("F:\\a.txt"), Charset.defaultCharset()));
String text = null;
StringBuffer sb = new StringBuffer();
while ((text = bf.readLine()) != null) {
sb.append(text);
}
Clobtype ct = new Clobtype(1, Hibernate.createClob(sb.toString()));
bf.close();
sess.update(ct);



Clobtype c = (Clobtype) sess.get(Clobtype.class, 1);
Clob cl = c.getContent();
String str = "";
if (cl != null) {
try {
str = cl.getSubString(new Long(1), (int) cl.length());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(str);

sess.getTransaction().commit();
}

摘自 hanzhou4519