hibernate 对于blob的操作

oracle数据库建表语句

create table stu
(
   id number(2),
   name varchar2(16),
   filename varchar2(64),
   filedata BLOB,
   primary key(id)
);

Stu.java文件

public class Stu implements java.io.Serializable {

 // Fields

 private Byte id;
 private String name;
 private String filename;
 private byte[]  filedata;  //此处理将其属性类型设为byte[]

 // Constructors

 /** default constructor */
 public Stu() {
 }

剩余部分略去.....

Stu.hbm.xml文件如下:

<hibernate-mapping>
    <class name="com.aoyou.mapping.Stu" table="STU" schema="LIXIN03080">
        <id name="id" type="java.lang.Byte">
            <column name="ID" precision="2" scale="0" />
            <generator class="assigned" />
        </id>
        <property name="name" type="java.lang.String">
            <column name="NAME" length="16" />
        </property>
        <property name="filename" type="java.lang.String">
            <column name="FILENAME" length="64" />
        </property>
        <!-- 注意下面filedata的type为binary -->
        <property name="filedata" type="binary">
            <column name="FILEDATA" />
        </property>
    </class>
</hibernate-mapping>
        <property name="filedata" type="binary">
            <column name="FILEDATA" />
        </property>
    </class>
</hibernate-mapping>

在main方法中测试:

保存数据到数据库:

public static void main(String[] args) throws IOException{
         Session session = new Configuration().configure().buildSessionFactory().openSession();
        Transaction t = session.beginTransaction();
  
        File file = new File("D:\\购物网站\\二期\\数据库设计.txt");
       BufferedReader br = new BufferedReader(new FileReader(file));
  
  
       Stu stu = new Stu();
       stu.setId(2);
       stu.setName("mary");
       stu.setFilename("数据清单");
  
       String content = "";
      String temp = "";
      while((temp = br.readLine()) != null){
            content += temp;
       }
       br.close();
       stu.setFiledata(content.getBytes());
       session.save(stu);
  
       t.commit();
 }

读取数据库数据:

public static void main(String[] args) throws IOException{
           Session session = new Configuration().configure().buildSessionFactory().openSession();
           Transaction t = session.beginTransaction();
  
           String hql = " from Stu  ";
           Query query = session.createQuery(hql);
           List list = query.list();
           if(list != null){
                   Stu stu = (Stu)list.get(0);
                  System.out.println(stu.getId());
                  System.out.println(stu.getName());
                  System.out.println(stu.getFilename());
                  byte[] b = stu.getFiledata();
                 System.out.print(new   String(b,   0,   b.length));
           }
  
       t.commit();
 }

Hibernate对BLOB CLOB操作 NULL 博文链接:https://ylsuccess.iteye.com/blog/411005 立即下载

相关推荐

关于在Hibernate中对于Clob,Blob字段的处理方法

oracle的jdbc驱动程序,用这个版本的操作Clob,blob类型的数据很方便。 博文链接:https://zhenjw.iteye.com/blog/173419

hibernate 创建blob对象

<br />用hibernate创建blob对象:<br /> Blob  blob=Hibernate.createBlob(Byte []);

gujian123456的专栏 1232

Autodesk全家桶怎么选?AutoCAD、Revit、Fusion 360等7款软件超全对比指南

本文深入对比了Autodesk旗下七款核心软件(AutoCAD、Revit、Inventor、Fusion 360、Maya、3ds Max、Forge)的核心定位与适用场景。针对建筑、制造、创意设计等不同专业需求,提供精准的选型指南,帮助用户根据自身工作流(如二维绘图、BIM协同、产品开发、影视动画)选择最匹配的工具,避免资源浪费并提升效率。

stone的博客 434

hibernate mysql clob_Hibernate实现Clob和Blob对象的存取

作为测试,我们新建一个TUser对象,其image属性中,保存了一个图片文件的二进制内容。而其resume属性,我们以一个简单的字符串作为填充。1TUseruser= new TUser();2 3user.setAge(new Integer( 20 ));4 5user.setName(" Shark ");6 7FilelnputStreamimgis= new FileinputS...

weixin_31040783的博客 390

LSTM模型 轨迹经纬度预测

原始时间序列数据如下所示,我们只取前两列纬度和经度作为输入数据 我们设定用前六个位置信息预测下一个位置,则两个样本的输入输出数据如下所示: 创建LSTM网络训练模型: import numpy as np from keras.layers.core import Dense, Activation, Dropout from keras.layers import LS...

Muzi_Water的博客 2万+

Gamit 数据处理,相关的文件配置

一、处理前准备 1、在主文件夹内新建test项目文件,项目内新建brdc、igs和rinex三个文件夹,分别存放广播星历,精密星历几观测值文件,所用的命令分别为sh_get_nav、sh_get_orbits和sh_get_rinex (若文件为.Z,用gunzip命令解压,若仍为d,用命令sh_crx2rnx -f 命令解压为o文件) 2、进入test项目文件夹,链接tables,运行 sh_setup -yr 2015 -apr itrf08_com.apr 3、生成station.info文件。 将t

CodeDoraemon的博客 3375

Hibernate实现Clob和Blob对象的存取

1 TUser user  = new  TUser();  2  3 user.setAge( new  Integer( 20 ));  4  5 user.setName( " Shark " );  6  7 FilelnputStream imgis  = new  FileinputStream( " C://inimage.jpg "   8  9 Blob img  =

溺水的鱼 - Later equals never. 2127

如何搭建一个vue项目(完整步骤)

查看版本的两种方式 出现版本号则说明安装成功(最新的以官网为准) 这里注意:安装vue-cli对node.js的版本是有要求的 装的两种方式:输入cmd命令 查看安装的版本(显示版本号说明安装成功) 如果你原来有版本或者版本比较低,可以升级...

m0_67392661的博客 5584

Hibernate操作Blob数据

首先看数据库,数据库中新建一个BlobTable表,表中有两个字段,一个id(主键)一个picture字段是Blob类型字段。然后使用Hibernate向该数据库中写入和读取数据 在POJO类中picture属性用的是Blob类型数据。 下面看操作源码 package dao; import java.io.File; import java.io.FileInputStream; imp

翻滚吧小牛 2272

SAP Fiori 会话超时全解析:从 Launchpad 到 Identity Authentication 的统一策略

SAP Fiori会话超时机制解析与配置策略 本文深入探讨SAP Fiori项目中的会话超时机制,分析其对系统安全和用户体验的双重影响。文章系统拆解了SAP Fiori Launchpad与SAP Cloud Identity Services之间的会话超时工作原理,重点介绍了两种超时机制:服务器驱动的超时(通过SESSION_TIMEOUT_STOP_DATA_REFRESH参数控制)和UI驱动的超时(通过SESSION_TIMEOUT_INTERVAL_IN_MINUTES参数控制)。文中结合制造业产线

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 212

Vue2 - 详细实现接入使用海康威视监控云端显示及控制功能,网站集成安装海康监控及实时监控显示、回放、放大缩小画面、视频画面截图、截屏抓拍、摄像头控制,实时推流及播放器解决延迟卡顿等问题(详细代码)

vue2,nuxt2,海康威视,海康监控,摄像头监控,vue对接海康处理接口认证规则,监控实时预览和回放功能,海康api接口,安全认证,海康开放平台,官方文档,播放海康摄像头的监控视频,海康实时监控播放详细步骤,web,黑屏,特别卡不流畅怎么办,解决无法推流,录像,连接不上,vue,海康,vue海康视频监控,海康开放平台,实时监控画面,海康插件,视频播放,回放,视频流地址,取流协议,视频sdk播放,hik,rtsp,rtmp,hls,ws,网站,网页,h5页面,后台管理系统,vue2对接海康监控设备,无法连

🏆 前端领域优质创作者 8245

[随记]在Hibernate中如何使用Blob数据类型

Blob数据类型 1)pojo定义时直接定义成 private Blob file; 2)hbm映射时 type=”blob” 3)数据库字段采用blob类型 4)写入时使用Hibernate.createBlob(fis); fis为FileInputStream 5)...

chuichansheng7987的博客 327

【SemiDrive源码分析】【X9芯片启动流程】11 - freertos_safetyos目录Cortex-R5 DIL2.bin 引导程序源代码分析

【SemiDrive源码分析】【X9芯片启动流程】11 - freertos_safetyos目录Cortex-R5 DIL2.bin 引导程序源代码分析

|~~~热爱生活、努力学习的小伙汁~~~| 2107

spring hibernate mysql blob_使用Spring+hibernate透明操作blob(照片实例)

前言:Oracle的blob操作的复杂性我想很多人都见识过了,首先要插入一个空的blob以获得光标。。。。(此处省略n字)首先我们介绍hibernate的对应的配置:对应于数据库字段我们怎样定义hibernate 的hbm.xml和POJO,对应于BLOB 和CLOB,我们在hbm.xml的定义方式如下:BLOBàorg.springframework.orm.hibernate3.support...

weixin_39712016的博客 244

⚡【C++要笑着学】(13) STL介绍:什么是STL标准模板库 | STL的版本 | 浅谈STL的缺陷

再讲解函数模板之前先对STL做一个小铺垫,本篇将对STL做一个简单的介绍。

有道无术, 术尚可求。有术无道, 止于术。 3034

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

hibernate oracle blob,Hibernate3操作Oracle的Blob字段

Hibernate3操作Oracle的Blob字段hibernate作为一个优秀的OR-Mapping构架,对数据库的基本操作进行了比较好的封装,针对Blob类型字段的操作也不例外。但网上大部分能找到的hibernate操作Blob的例程都是基于hibernate2版本的,同时在实际操作中我发现针对不同的数据库,可以有不同的操作方法。下面将hibernate3操作oracle的Blob字段进行一个...

weixin_35628777的博客 456

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

使用hibernate透明操作blob

前言:Oracle的blob操作的复杂性我想很多人都见识过了,首先要插入一个空的blob以获得光标。。。。(此处省略n字) 首先我们介绍hibernate的对应的配置: 对应于数据库字段我们怎样定义hibernate 的hbm.xml和POJO,对应于BLOB 和CLOB,我们在hbm.xml的定义方式如下: BLOBàorg.springframework.orm.hibernate...

一元钱计划 183

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

通过JDBC和Hibernate对Clob和Blob的操作

通过JDBC和Hibernate对Clob和Blob的操作,插入和读取. 一,JDBC方式: 1,当lob的内容很小的时候,用sta.setString(2, "clob content"); sta.setBytes(3, "blob".getBytes()); 2,通过steam的方式写入内容: InputStream fis1 = new StringBuffer

shuimumu的专栏 497

hibernate 操作clob,blob对象

转自:http://hpingliu.blog.ccidnet.com/blog-htm-do-showone-type-blog-itemid-144245-uid-48802.html] 作为测试,我们新建一个TUser对象,其image属性中,保存了一个图片文件的二进制内容。而其resume属性,我们以一个简单的字符串作为填充。 1 TUser user = new TUser(); 2 3...

friping的专栏 194

hibernate3操作oracle的Blob字段

【老乔】hibernate作为一个优秀的OR-Mapping构架,对数据库的基本操作进行了比较好的封装,针对Blob类型字段的操作也不例外。但网上大部分能找到的hibernate操作Blob的例程都是基于hibernate2版本的,同时在实际操作中我发现针对不同的数据库,可以有不同的操作方法。下面将hibernate3操作oracle的Blob字段进行一个介绍。          用JDBC操作B...

wsrjzhsy0493的博客 301

Hibernate3操作Oracle的Blob字段

hibernate作为一个优秀的OR-Mapping构架,对数据库的基本操作进行了比较好的封装,针对Blob类型字段的操作也不例外。但网上大部分能找到的hibernate操作Blob的例程都是基于hibernate2版本的,同时在实际操作中我发现针对不同的数据库,可以有不同的操作方法。下面将hibernate3操作oracle的Blob字段进行一个介绍。          用JDBC操作Blob最

759

Hibernate 操作Blob Clob

Photo.java import java.sql.Blob; import java.sql.Clob; import java.util.Date; /** * @author IBM 这是一个用于测试Hibernate大对象操作的PO * * 这是一个测试POJO, 属性有多种类型 */ public class Photo { pri...

大阳阳 65

hibernate操作mysql的blob数据

package hibernate; import java.sql.Blob; public class Blobtest  implements java.io.Serializable {      private long id;      private Blob image;     public Blobtest() {     }     publ

JAVA2010CZP的专栏 3881
上一篇: JDBC+Hibernate将Blob数据写入Oracle
下一篇: 在spring中应用drools
tkxing
博客等级 码龄19年 1粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值