Mysql 如何使用hibernate在struts2中实现上传文件

Mysql 如何使用hibernate在struts2中实现上传文件,mysql,hibernate,file-upload,struts2,upload,Mysql,Hibernate,File Upload,Struts2,Upload,我正在开发一个web应用程序(电子文档管理),我需要在struts2中上传文件,并使用hibernate将其存储到mysql,有人能给出更好的主意吗。提前感谢 Post edited : 我从以下几点开始: 在pojo课程中,我有: @Entity @Table(name="Documents") public class Documents { @Id @GeneratedValue @Column(name="idDocument") private I

我正在开发一个web应用程序(电子文档管理),我需要在struts2中上传文件,并使用hibernate将其存储到mysql,有人能给出更好的主意吗。提前感谢

Post edited : 
我从以下几点开始: 在pojo课程中,我有:

@Entity
@Table(name="Documents")
public class Documents {

    @Id
    @GeneratedValue
    @Column(name="idDocument")
    private Integer idDocument;

    @Column(name="content")
    @Lob
    private byte[] content;

    @Column(name="description")
    private String description;
课堂文件我有:

 public class DocumentsDaoImpl implements DocumentsDao{
    @SessionTarget
    Session session;

    @TransactionTarget
    Transaction transaction;

    @Override
    public void saveOrUpdateDocuments(Documents Document) {
        try {

            session.saveOrUpdate(Document);
        } catch (Exception e) {
            transaction.rollback();
            e.printStackTrace();
        }       
    } .......
在行动课上,我有:

public class DocumentAction  extends ActionSupport implements ModelDriven<Documents>{
    private Documents document=new Documents();
    private DocumentsDao documentdao=new DocumentsDaoImpl();

    @Override
    public Documents getModel() {
        // TODO Auto-generated method stub
        return document;
    }
    public String saveOrUpdate(){   
        documentdao.saveOrUpdateDocuments(document);
            list();
            return SUCCESS;
        }
.......
公共类DocumentAction扩展了ActionSupport实现了模型驱动{
私有文档=新文档();
私有文档dao documentdao=新文档daoimpl();
@凌驾
公共文档getModel(){
//TODO自动生成的方法存根
归还文件;
}
公共字符串saveOrUpdate(){
documentdao.Save或UpdateDocuments(文档);
list();
回归成功;
}
.......
JSP我有一个表单:

<s:form action="saveOrUpdateDocuments" method="post">
    <s:hidden name="document.idDocument" />
    <s:textfield name="document.description" label="document File "  required="true" />
    <s:file  name="document.content"  value="Add Document"/>
     <s:submit value="upload"  />
</s:form>


我不知道我该如何处理

您是否计划将文件以blob类型存储在数据库中?在数据库中将列声明为
blob
类型,并在模型类中声明类型为
byte[]
的变量

//userFile is the file submitted from JSP
byte[] bFile = new byte[(int) userFile.length()];
try {
         FileInputStream fileInputStream = new FileInputStream(userFile);
         //convert file into array of bytes
         fileInputStream.read(bFile);
         fileInputStream.close();
    } catch (Exception e) {
         e.printStackTrace();
    }
现在,您可以将
b文件
保存到数据库中


如果您只是想将图像保存在磁盘上,您可以遵循。它还显示了如何使用struts 2表单从JSP提交文件。

感谢您的回复,是的,我想将文件以blob类型存储在数据库中,但我不知道如何进行,我已经编辑了我的帖子。您可以查看我的帖子吗?给我建议显示您的struts.xml会很有帮助。遵循答案中给出了。声明表单元素
userImage
userImageContentType
等类似内容。同时根据该教程更新动作类。然后确保能够在动作类中获得提交的文件。当您能够这样做时,请根据您的特定要求开始更改。L让我知道你是否面临任何进一步的问题。我还注意到一个打字错误
@Lob