Java 使用Hibernate在数据库中保存图像
我想使用Hibernate将用户上传的图像存储在数据库中。但是我不知道怎么做。。这是我的密码 JSP: 在Servlet中Java 使用Hibernate在数据库中保存图像,java,mysql,hibernate,jsp,blob,Java,Mysql,Hibernate,Jsp,Blob,我想使用Hibernate将用户上传的图像存储在数据库中。但是我不知道怎么做。。这是我的密码 JSP: 在Servlet中 Part filePart = request.getPart("filecover"); 在这之后,我不知道如何使用DAO savephoto1方法添加它。。有人能帮我继续吗。。我需要将图像存储在mySQL blob字段中,而不是路径中。当操作大文件(blob)时,通常将它们映射为字节数组: Session session = HibernateUtil.getSess
Part filePart = request.getPart("filecover");
在这之后,我不知道如何使用DAO savephoto1方法添加它。。有人能帮我继续吗。。我需要将图像存储在mySQL blob字段中,而不是路径中。当操作大文件(blob)时,通常将它们映射为字节数组:
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
File file = new File("C:\test.png");
byte[] imageData = new byte[(int) file.length()];
try {
FileInputStream fileInputStream = new FileInputStream(file);
fileInputStream.read(imageData);
fileInputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
ImageWrapper image = new ImageWrapper();
image.setImageName("test.jpeg");
image.setData(imageData);
session.save(image); //Save the data
session.getTransaction().commit();
HibernateUtil.shutdown();
这里有一个完整的示例,包括读取图像:我不是试图从path读取图像,而是从用户处获取图像并试图保存用户上传的图像
Part filePart = request.getPart("filecover");
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
File file = new File("C:\test.png");
byte[] imageData = new byte[(int) file.length()];
try {
FileInputStream fileInputStream = new FileInputStream(file);
fileInputStream.read(imageData);
fileInputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
ImageWrapper image = new ImageWrapper();
image.setImageName("test.jpeg");
image.setData(imageData);
session.save(image); //Save the data
session.getTransaction().commit();
HibernateUtil.shutdown();