Hibernate往SqlServer里存入图片或二进制数据

前两天给朋友写的一段代码,特此总结在此。除Oracle以外的数据库应当都可以使用以下代码,Oracle的操作方法Hibernate.org的站长roobin有一篇文章有讲。


首先建立实体类。二进制的字段是一个java.sql.Blob类型
private java.sql.Blob image;

xdoclet要用的注释:
@hibernate.property
column="image"

接下来就是保存文件的代码了,以下仅给出伪码,也很简单
String fname = "c:\\javalogo.gif";//要入库的文件
File f = new File(fname);
fin = new FileInputStream(f);

要保存的实体类 jtdsBlob = new 要保存的实体类();
jtdsBlob.setTitle("Test1");
jtdsBlob.setImage(Hibernate.createBlob(fin));

/*
* 保存实体的代码可以换成你自己的方式,当然,如果你要了解ParadiseSDK请访问
* http://paradisesdk.dev.java.net/
*/
IParadiseDAO dao = DAOFactory.getInstance();
dao.save(jtdsBlob);
dao.execute();

你可能感兴趣的:(java,DAO,oracle,sql,Hibernate)