Java 如何使用HIbernate作为BLOB将此图像保存到MySQL数据库?
如何使用Hibernate将上传的图像保存到MySQL数据库?我是否需要将此图像转换为字节数组,或者是否有其他方法来执行此操作Java 如何使用HIbernate作为BLOB将此图像保存到MySQL数据库?,java,mysql,hibernate,jsp,servlets,Java,Mysql,Hibernate,Jsp,Servlets,如何使用Hibernate将上传的图像保存到MySQL数据库?我是否需要将此图像转换为字节数组,或者是否有其他方法来执行此操作 try { // parses the request's content to extract file data List formItems = upload.parseRequest(request); Iterator iter = formItems.iterator(); // iterates over form's f
try {
// parses the request's content to extract file data
List formItems = upload.parseRequest(request);
Iterator iter = formItems.iterator();
// iterates over form's fields
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
// processes only fields that are not form fields
if (!item.isFormField()) {
String fileName = new File(item.getName()).getName();
String filePath = uploadPath + File.separator + fileName;
File storeFile = new File(filePath);
System.out.println("Image file name is :" + fileName);
// saves the file on disk
item.write(storeFile);
}
}
}
Java for MySQL中Blob的等效映射类型是
byte[]
。您应该在Hibernate中使用相应的方言,并对属性进行如下注释
@Lob
@Column(name = "data", columnDefinition = "blob", length = 16777215)
public byte[] getData() {
return this.data;
}
Java for MySQL中Blob的等效映射类型是
byte[]
。您应该在Hibernate中使用相应的方言,并对属性进行如下注释
@Lob
@Column(name = "data", columnDefinition = "blob", length = 16777215)
public byte[] getData() {
return this.data;
}
这是一个演示示例,请仔细阅读并询问您是否有任何问题 对上述示例的解释:
这是一个演示示例,请仔细阅读并询问您是否有任何问题 对上述示例的解释:
首先我需要将此图像转换为字节吗?或者还有其他方法吗?我使用了
byte[]fileData=FileUtil.getBytes(文件)代码>如果您使用Struts,它会直接将文件存储到ActionBean,您不需要与commons-fileupload等其他框架混淆。首先,我需要将此图像转换为字节吗?或者还有其他方法吗?我使用了byte[]fileData=FileUtil.getBytes(文件)代码>如果您使用Struts,它会直接将文件存储到ActionBean,您不需要与commons fileupload等其他框架混淆。