通过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 StringBufferInputStream("test");
sta.setAsciiStream(2, fis1, len);
InputStream fis2 = new StringBufferInputStream("test");
sta.setBinaryStream(3, fis2, len);
二,Hibernate方式:
1,把String的内容插入数据库:
lob.setClobdat(Hibernate.createClob("clob"));
lob.setBlobdat(Hibernate.createBlob("blob".getBytes()));
2,通过steam的方式写入内容:
Hibernate.createClob(Reader reader, int length)
Hibernate.createBlob(InputStream stream)
从数据库读取Lob的内容:clob提供了getCharacterStream()返回Reader,blob提供了getBinaryStream()返回InputStream.
public static String readClob(Clob clob) throws SQLException, IOException {
BufferedReader br = new BufferedReader(clob.getCharacterStream());
StringBuffer strbf = new StringBuffer();
String str = "";
while ((str = br.readLine()) != null) {
strbf.append(str);
}
return strbf.toString();
}
public static byte[] readBlob(Blob blob) throws SQLException, IOException {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
InputStream inputStream = blob.getBinaryStream();
int b = inputStream.read();
while (b != -1) {
outStream.write(b);
b = inputStream.read();
}
return outStream.toByteArray();
}
通过JDBC和Hibernate对Clob和Blob的操作相关推荐
- spring+hibernate中clob、blob字段的处理方法
今天在开发项目的时候遇到CLOB字段的问题,和平时的String字段一样处理发现HQL的查询结果是NULL,到网上查找了一些资料,处理方式作了一些修改以后,数据成功显示,现总结配置如下: applic ...
- Hibernate ORM映射中关clob及blob类型对应bo类 注解写法
1).映射日期与时间类型,指定时间精度 Annotation: 用法:@Temporal(参数) 说明:参数有3种 只显示时间,只显示日期,时间日期都显示 举例: @Tempor ...
- spring+hibernate的clob大字段处理
在spring中如何处理oracle大字段 在spring中采用OracleLobHandler来处理oracle大字段(包括clob和blob),则在程序中不需要引用oracle的特殊类,从而能够保 ...
- CLOB与BLOB的区别及用途
BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的. 其实两个是可以互换的的,或者可以直接用LOB字段代替这两个.但是为了更好的管理 ORACLE数据库, 通 ...
- sqoop blob mysql_Sqoop处理Clob与Blob字段
[Author]: kwu Sqoop处理Clob与Blob字段,在Oracle中Clob为大文本,Blob存储二进制文件.遇到这类字段导入hive或者hdfs需要特殊处理. 1.oracle中的测试 ...
- jdbc与hibernate的优缺点比较
jdbc与hibernate的优缺点比较 一. Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系.Hibernate可以 ...
- 基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题
基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题 参考文章: (1)基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题 (2)https: ...
- 详解JDBC与Hibernate区别
详解JDBC与Hibernate区别 引用地址:http://www.cnblogs.com/JemBai/archive/2011/04/13/2014940.html 刚开始学习JAVA时,认为H ...
- jdbc,mybatis,hibernate各自优缺点及区别
jdbc,mybatis,hibernate各自优缺点及区别 先比较下jdbc编程和hibernate编程各自的优缺点. JDBC: 我们平时使用jdbc进行编程,大致需要下面几个步骤:1,使用jdb ...
最新文章
- spring手动代码控制事务
- MJExtension简介
- 记事本快捷键设置 java_Java给JFrame窗口设置热键---不完整记事本
- 跨境电商Etsy如何使用交互行为类型进行可解释推荐
- 华为0基础——(练习用)挑7
- 沉浸式ui设计_有助于沉浸的视频游戏UI —武器轮
- BugkuCTF-MISC题简单套娃
- TwinCAT与台达伺服驱动器连接调试控制电机正反转
- easyui框架tabs控件
- matlab读取地震波数据,基于Matlab的人工地震波程序编写
- matlab中simulink耦合线圈,基于AMESim和Matlab/Simulink的耦合振动台建模仿真
- 手机影音第十五天,利用service实现后台播放音乐,在通知栏显示当前音乐信息等...
- 使用Axis2实现WebService的发布和调用
- TomExam开源在线考试系统
- 解决老Mac强行双系统后Mac系统引导丢失出现no bootable device
- html电影详情页面,电影
- Android获取WIFI的SSID的一些差异,有的带引号
- java日期与时间戳相互转换大全
- ApacheCN 翻译活动进度公告 2019.4.7
- linux中登录远程主机,LinuxSSH登录远程主机并执行脚本