191145686 发表于 2016-10-22 00:44:07

Struts2+Hibernate+Spring 在mysql更新Blob类型的数据

  看了好多别人写的,不是写的很复杂,就是写的简单的不靠谱。其实很简单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";
}
页: [1]
查看完整版本: Struts2+Hibernate+Spring 在mysql更新Blob类型的数据