看了好多别人写的,不是写的很复杂,就是写的简单的不靠谱。其实很简单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";
}