亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

正在回答

4 回答

570b4e9a0001c2b905000046.jpg

570b4e9a0001a11005000055.jpg

測試時沒有出現錯誤,是寫入的時候沒有寫入嗎?


0 回復 有任何疑惑可以回復我~
#1

ned_dp

兄弟,你的問題解決了嗎,我的也是你這種情況
2016-04-29 回復 有任何疑惑可以回復我~
#2

慕函數9281397 回復 ned_dp

是不是用的oracle?
2016-10-28 回復 有任何疑惑可以回復我~

代碼是沒有錯的,你應該看看hibernate.cfg.xml文件當中hbm2ddl屬性值是否為update,如果是create,一運行代碼表中的數據就被刪了,當然讀不出來了

0 回復 有任何疑惑可以回復我~
#1

cenyetong 提問者

我執行testWriteBlob方法時是create,然后讀取照片時即testReadBlob時是update的,理論上沒事啊
2016-04-10 回復 有任何疑惑可以回復我~
#2

沉寂的蝸牛 回復 cenyetong 提問者

具體描述一下你的問題吧,執行testWriteBlob時有問題嗎?看看數據庫中是否有你設定的圖片,要打開圖片看到才算;還有執行testReadBlob時讀不出來報的錯是什么?輸出流的路徑中電腦上有d盤嗎?Blob導入的是sql下的包嗎?。。。
2016-04-11 回復 有任何疑惑可以回復我~
#3

cenyetong 提問者 回復 沉寂的蝸牛

測試時沒有出錯啊,只是寫出來的圖片內容為空
2016-04-11 回復 有任何疑惑可以回復我~
@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();
	}


0 回復 有任何疑惑可以回復我~

貼代碼看看..

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Hibernate初探之單表映射
  • 參與學習       74801    人
  • 解答問題       835    個

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

進入課程

圖片的讀取

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號