让美的事情发生
Ziv 小威
Struts2+Hibernate+Spring 在 mysql 更新 Blob 类型的数据

看了好多别人写的,不是写的很复杂,就是写的简单的不靠谱。其实很简单 0 0.

以下的代码是更新指定 id 里面的 image 文件的方法。具体代码如下:

public boolean updateImage(Image image) {
    // 这里我用的是Spring 的HibernateTemplate 模板
    Session session = template.getSessionFactory().openSession();
    // 当然你可以直接用Hibernate获取session对象
    Transaction transaction = session.beginTransaction();

    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";
    }


最后修改于 2012-09-06

Comments powered by Disqus