看了好多別人寫的,不是寫的很複雜,就是寫的簡單的不靠譜。其實很簡單0 0.
以下的代碼是更新指定id裏面的image 文件的方法。具體代碼如下:
public boolean updateImage(Image image) {
Session session = template.getSessionFactory().openSession(); //這裏我用的是Spring 的HibernateTemplate 模板
Transaction transaction = session.beginTransaction(); //當然你可以直接用Hibernate獲取session對象
session.saveOrUpdate(image);
session.flush();
transaction.commit();
session.close();
return true;
}
下面是我的Image class
public class Image {
private int id;
private Blob image;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Blob getImage() {
return image;
}
public void setImage(Blob image) {
this.image = image;
}
}
下面是我的Struts2 的 Action
public String uploadImage(){
try {
FileInputStream input = new FileInputStream(file);
Blob blob = Hibernate.createBlob(input);
image.setImage(blob); //Action 把上傳過來的文件進行轉換後給Image set value.
imageDao.updateImage(image);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "succ";
}