Hibernate往SqlServer里存入图片或二进制数据
前两天给朋友写的一段代码,特此总结在此。除Oracle以外的数据库应当都可以使用以下代码,Oracle的操作方法Hibernate.org的站长roobin有一篇文章有讲。
首先建立实体类。二进制的字段是一个java.sql.Blob类型
privatejava.sql.Blobimage;
xdoclet要用的注释:
@hibernate.property
column="image"
接下来就是保存文件的代码了,以下仅给出伪码,也很简单
Stringfname="c:\\javalogo.gif";//要入库的文件
Filef=newFile(fname);
fin=newFileInputStream(f);
要保存的实体类jtdsBlob=new要保存的实体类();
jtdsBlob.setTitle("Test1");
jtdsBlob.setImage(Hibernate.createBlob(fin));
/*
*保存实体的代码可以换成你自己的方式,当然,如果你要了解ParadiseSDK请访问
*http://paradisesdk.dev.java.net/
*/
IParadiseDAOdao=DAOFactory.getInstance();
dao.save(jtdsBlob);
dao.execute();