图片的读取

来源:3-4 [Hibernate单表操作] 对象类型

cenyetong

2016-04-08 22:57

我读取出来的图片怎么是空的?

写回答 关注

4回答

  • cenyetong
    2016-04-11 15:14:31

    570b4e9a0001c2b905000046.jpg

    570b4e9a0001a11005000055.jpg

    测试时没有出现错误,是写入的时候没有写入吗?


    慕函数928... 回复ned_dp

    是不是用的oracle?

    2016-10-28 10:47:48

    共 2 条回复 >

  • 沉寂的蜗牛
    2016-04-10 21:33:12

    代码是没有错的,你应该看看hibernate.cfg.xml文件当中hbm2ddl属性值是否为update,如果是create,一运行代码表中的数据就被删了,当然读不出来了

    cenyet... 回复沉寂的蜗牛

    测试时没有出错啊,只是写出来的图片内容为空

    2016-04-11 15:15:49

    共 3 条回复 >

  • cenyetong
    2016-04-09 22:50:42
    @Test
    	public void testWriteBlob()throws Exception{
    		Students s=new Students(1,"jack","男",new Date(),"广州");
    		//先获得照片文件
    		File f=new File("d:"+File.separator+"games_control.jpg");
    		//获取文件的输入流
    		InputStream input=new FileInputStream(f);
    		//创建一个Blob对象
    		Blob image=Hibernate.getLobCreator(session).createBlob(input,input.available());
    		//设置图片属性
    		s.setPicture(image);
    		//保存学生
    		session.save(s);
    	}
    	
    	@Test
    	public void testReadBlob()throws Exception{
    		Students s=(Students)session.get(Students.class, 1);
    		//获取Blob对象
    		Blob image=s.getPicture();
    		//获取照片的输入流
    		InputStream input=image.getBinaryStream();
    		//创建输出流
    		File f=new File("d:"+File.separator+"dest.jpg");
    		//获取输出流
    		OutputStream output=new FileOutputStream(f);
    		//创建缓冲区
    		byte[] buff=new byte[input.available()];
    		input.read(buff);
    		output.write(buff);
    		input.close();
    		output.close();
    	}


  • nora_nora
    2016-04-09 22:18:08

    贴代码看看..

Hibernate初探之单表映射

Java持久化框架Hibernate入门教程,掌握Hibernate基本概念

74808 学习 · 793 问题

查看课程

相似问题