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());

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

时间: 2024-12-23 13:21:02

Hibernate图片数据库存储的相关文章

C# 图片数据库存储、读取页面展示

一个网站,图片数据是一定存在的:图片存储如何处理,有很多方式. 自己总结两种:1.将图片保存为静态文件形式:(优点:文件容易转移.备份:缺点:文件丢失不易恢复)2.将图片转换为字节流获其他方式获取图片完整数据进行存储(优点:数据库保存,不易丢失:缺点:数据库空间增长较快) 之前图片保存是通过保存文件名称等基本信息,未对图片的原始内容进行处理:最近 想换种方式进行图片数据保存:特记录. 保存文件完整信息,常用的方式是将文件转换为二进制流,保存进数据库,当然也可以保存图片为base64 数据流. 1

基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构

基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构 Neo4j 3.0.0 正式发布,这是 Neo4j 3.0 系列的第一个版本.此版本对内部架构进行了全新的设计;提供给开发者更强大的生产力;提供更广阔的部署选择.Neo4j 3.0 被认为是世界上最具伸缩性的基于Java的图片数据库. Neo4j 3.0.0 主要的新特性: Neo4j 3.0 新特性架构图 全新设计了内部架构移除了所有节点数量限制,数据库关系和属性都可以被存储和索引提供官方支持语言驱动器 (Java.JavaSc

[转]Hibernate不能自动建表解决办法及Hibernate不同数据库的连接及SQL方言

最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且在mysql中新建了一个hibernate数据库,仅此而已.然而预想不到的事情发生了……程序写好之后,运行,报错Hibernate: insert into news_table (title, content) values (?, ?) Exception in thread "main&quo

【Struts2+Hibernate4】按照MVC思想使用Hibernate查询数据库,并且在前台使用OGNL表达式输出

本文将介绍Struts2与Hibernate的整合,两东西的整合并不需要用到Spring,完全可以各司其职,Struts2完成Java文件与Jsp页面交互,Hibernate完成数据库到Java文件的交互. 一.基本目标 还是那张在Mysql中已经用烂的Testtable表. 在index.jsp点击查询之后,能够把这张表的所有内容输出出来.而且表格是梅花间竹的不同颜色.当然这个例子已经很多书籍上说过了. 目录结构如下,严格按照MVC思想. 二.基本准备 1.这里就不再多说了,在Eclipse

数据库存储技术基础(一) 字典编码

说到数据库存储技术的基础,就要了解企业应用的数据特性以及面临的瓶颈. 1.企业应用的数据特性 事件产生数据 以快递追踪为例,信息读取过程包括当前读取操作的地点.时间戳.当前所处的业务流程(如收件.打包.运送)以及其他详细信息.当然,对网络游戏活动数据的分析就更为复杂.每个事件数据的数据集较小(Byte/KB)而每个实体可产生多个事件. 结构化/非结构化数据的结合 结构化数据有标准的格式存储即可被计算机自动处理.非结构化数据是不具有特定的数据解析模型,不能被计算机自动处理的数据,例如视频.图片与任

Ubuntu上使用Redis数据库存储SessionID并实现Session共享

p { margin-bottom: 0.1in; direction: ltr; color: #00000a; line-height: 120%; text-align: left; orphans: 2; widows: 2 } p.western { font-family: "Liberation Serif", serif; font-size: 12pt } p.cjk { font-family: "Noto Sans CJK SC Regular"

MySQL数据库存储引擎

MySQL数据库存储引擎 MySQL数据库是一种关系型数据库,数据时存放在数据库中的一张一张的表中的,各个表之间或有关联,表中的每行相关,每列是不相关.这是关系型数据库的基本存储方式. MySQL存储引擎是为了在各种不同的条件下对数据存放的可靠性.关联性.读写等方面做出的一个可供选择的存储模式. 当前使用较多的MySQL存储引擎主要有以下几个,MyISAM,InnoDB,BdB,Memory等,这些存储引擎主要在以下几个方面有所区分,锁定水平.处理方式.存储方式和索引技巧方面有所不同. mysq

Atitit.数据库存储引擎的原理与attilax&#160;总结

Atitit.数据库存储引擎的原理与attilax 总结 1. 存储引擎是什么1 2. 其它数据库系统(包括大多数商业选择)仅支持一种类型的数据存储2 3. 表的存储有三个文件:结构+数据+索引2 4. 页和字段2 5. 数据存取的选择:行存储还是列存储?3 6. 常见的存储引擎3 6.1. 简单类型MyISAM.3 6.2. 复杂类型,支持事务与外键 MySQL存储引擎[InnoDB.3 6.3. InnoDB数据存储结构3 6.4. Memory](Heap) 存储引擎5 6.5. NDBC

简单的Hibernate访问数据库Demo

最近在学习SSH,现在看到Hibernate这块,动手实现了一个简单的Demo,对Hibernate的功能.使用有了初步了解. 1.首先将Hibernate的jar包复制到Web项目的lib目录下.有些依赖jar包,要额外导入:比如cglib-nodep.jar,不然会报错. 2.配置实体类.这里我用的是一个简单Account类,要注意使用的是javax.persistense.*下面的注解,不是org.hibernate.*下的. package com.jobhelp.domain; imp