Hibernate图片数据库存储

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate图片数据库存储相关的知识,希望对你有一定的参考价值。

1. 数据库设计
  类型:mediumblob

2. 实体类设计
  java.sql.Blob对象:image

3. hibernate映射
  <property name="image" type="blob">
  <column name="IMAGE" sql-type="mediumblob"></column>
  </property>

4. 逻辑实现
  1). 存储
  News news = new News();
  InputStream stream = new FileInputStream("ok.gif");
  Blob image = Hibernate.getLobCreator(session).createBlob(stream, stream.available());
  news.setImage(image);
  session.save(news);
2). 读出
  News news = (News) session.get(News.class, 1);
  Blob image = news.getImage();
  InputStream in = image.getBinaryStream();
  System.out.println(in.available());

注意:这种方式可以作为了解,用的并不是很多,可以采用一下方式:
将图片上传到指定文件夹,然后在数据库中存储图片路径。

以上是关于Hibernate图片数据库存储的主要内容,如果未能解决你的问题,请参考以下文章

在spring mvc中上传图片

如何使用hibernate将图像存储到postgres数据库中

将 Java UUID 存储在二进制数据库列中,Hibernate/JPA 与原始 JDBC

hibernate缓存

使用hibernate在Mysql 5.7数据库中存储/检索Json数据

Hibernate(十六):Hibernate二级缓存