✎
编程开发网
首页
C语言
C++
面试
Linux
函数
Windows
数据库
下载
搜索
当前位置:
首页
->
AI编程基础
->
JAVA
用hibernate存入和写出Blob、Clob(三)
2014-11-24 03:26:40
·
作者:
·
浏览:
3
标签:
hibernate
存入
写出
Blob
Clob
sion.beginTransaction(); person.setImage(session.getLobHelper().createBlob(fis, file.length())); person.setDescription(session.getLobHelper().createClob(reader,file1.length())); //ts.commit(); */ baseDao.saveObject(person); } @Test public void getObject() throws Exception{ //根据id查询对象 Person person=(Person) baseDao.getObjectById(Person.class, 1); //判读对象是否为null if(person!=null){ //获取Blob字段 Blob blob=person.getImage(); //根据blob对象的getBinaryStream()方法 获取输入流 对象 InputStream is=blob.getBinaryStream(); //定义写出的文件 File file=new File("D:\\12.jpg"); //写出的输出流 FileOutputStream fos=new FileOutputStream(file); //缓冲区 byte[] buffer=new byte[1024]; //读取的长度 int len=0; //循环读取,直到文件结尾 while((len=is.read(buffer))!=-1){ //写出 fos.write(buffer,0,len); } //关闭流 fos.close(); is.close(); //获取Clob字段 Clob clob=person.getIntro(); //根据clob对象的getCharacterStream() 获取字符输入流 Reader r=clob.getCharacterStream(); //定义写出的文件 File file1=new File("D:\\12.txt"); //创建输出流对象 FileWriter fileWriter=new FileWriter(file1); //缓冲区 char[] cbuf=new char[1024]; //读取长度 int len1=0; //循环读取,直到文件结尾 while((len1=r.read(cbuf))!=-1){ //写出 fileWriter.write(cbuf, 0, len1); } //关闭流 fileWriter.close(); r.close(); } } } 执行save方法后的结果:
执行getObject方法后的结果:
首页
上一页
1
2
3
下一页
尾页
3
/3/3