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";
    }
posted @ 2012-09-06 11:43  Ziv小威  阅读(274)  评论(0编辑  收藏  举报