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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章