`
dowhathowtodo
  • 浏览: 777994 次
文章分类
社区版块
存档分类
最新评论

jdbc大数据处理

 
阅读更多

一:大数据也称为LOF(Large Object),LOB又可分为clob和blob,clob用于存储大文本,blob用于存储二进制数据。

二:在mysql中,只有blob和Text。

Text又可分为TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT

blob又可分为TINYBLOB,BLOB,MEDIUMBLOB和LONGBLOB

三:使用jdbc处理大文本时

1将大文本存入数据库:PreparedStatement.setCharacterStream(index,reader,lenght);注意lenght必须设置为int

2从mysql中读取大文本:

reader = resultSet.getCharacterStream(i);

reader = resultSet.getClob(i).getCharacterStream();

String s = resultSet.getString();

3:二进制数据的存取和读取相似。

四:Oracle定义了一个BLOB字段用于保存二进制数据,但这个字段并不能存放真正的二进制数据,只能向这个字段存一个指针,然后把数据放到指针所指向的Oracle的LOB段中, LOB段是在数据库内部表的一部分。

因而在操作Oracle的Blob之前,必须获得指针(定位器)才能进行Blob数据的读取和写入。

如何获得表中的Blob指针呢? 可以先使用insert语句向表中插入一个空的blob(调用oracle的函数empty_blob() ),这将创建一个blob的指针,然后再把这个empty的blob的指针查询出来,这样就可得到BLOB对象,从而读写blob数据了。

1、插入空blob
insert into test(id,image) values(?,empty_blob());

2、获得blob的cursor
select image from test where id= ? for update;
Blob b = rs.getBlob(“image”);

•注意: 须加for update,锁定该行,直至该行被修改完毕,保证不产生并发冲突。

3、利用 io,和获取到的cursor往数据库读写数据

l注意:以上操作需开启事务。

分享到:
评论

相关推荐

    JDBC读取数据库元数据,自动生成JAVA实体类

    JDBC读取数据库元数据,生成JAVA实体类

    JDBC的批量处理数据

    NULL 博文链接:https://wangyaweinihao.iteye.com/blog/2326293

    jdbc课件以及源代码(数据源)

    jdbc配置连接,各种数据库的连接,jdbc事物处理,jdbc大字段数据,二进制数据读取,jdbc的详细介绍

    JDBC数据库编程实验

    (4)理解JDBC中实现事务处理的基本方法; (5)理解数据库连接池的基本原理和思想,学会在tomcat服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法。 (6)初步理解数据访问层的基本设计方法,理解web...

    JDBC详解(连接操作数据库、处理大数据、批处理)

    详细介绍JDBC的连接操作数据库、处理大数据、批处理使用操作 Sun公司为了简化数据库开发,定义了一套JDBC接口,这套接口由数据库厂商去实现,这样,开发人员只需要学习JDBC接口, 并通过JDBC加载具体的驱动,就可以...

    JDBC处理oracle数据共17页.pdf.zip

    JDBC处理oracle数据共17页.pdf.zip

    数据库备份和还原

    1.数据库备份与恢复 2.多表设计(外键) 3.JDBC的体验、JDBCAPI、JDBC大数据处理、JDBC批处理。

    JDBC与Hibernate区别

    ◆数据状态不同:JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一致,而Hibernate操作的数据是可持久的,即持久化对象的数据属性的值是可以跟数据库中的值保持一致的。 JDBC与Hibernate读取性能 ...

    JDBC 3.0数据库开发与设计

    4.6.1 JDBC数据源 4.6.2 实例 4.7 连接池 4.7.1 连接池数据源(Connection PoolDataSource) 4.7.2 连接池处理事件 4.7.3 三层环境下的连接池操作 4.7.4 连接池和DataSource实现 4.7.5 包含连接池的数据源...

    数据计算和处理引擎:一种用于数据处理的脚本语言,具有丰富的库函数和强大的语法,可以通过JDBC接口和独立计算在Java程序中执行

    一种用于数据处理的脚本语言,具有精心设计的丰富的库函数和强大的语法,可以通过JDBC接口和独立计算在Java程序中执行。

    JDBC详解HTML-JDBC.pp

    处理执行结果: <1>.查询语句,返回记录集ResultSet <2>.更新语句,返回数字,表示该更新影响的记录数 <3>.ResultSet的方法:while(re.next()) next(),将游标往后移动一行,如果成功返回true;否则返回false ...

    jdbc连接数据库的方式2

     Oracle的PreparedStatement类不完全支持BLOB和CLOB等大对象的处理,尤其是Thin驱动程序不支持利用PreparedStatement对象的setObject()和setBinaryStream()方法设置BLOB的值,也不支持利用setCharacterStream()方法...

    登陆-注册实现代码jsp+jdbc

    jsp+jdbc+sql登陆-注册实现代码

    JDBC常考知识点,常用api

    2. 不同的数据库(如 MySQL、Oracle等)在其内部处理数据的方式是不同的,因此每一个数据库厂商 都提供了自己数据库的访问接口。有了 JDBC 以后,不同厂商按照统一的规范来提供数据库驱动,在 程序中由 JDBC 和具体...

    JDBC工具包MidaoJDBC.zip

    Midao JDBC 简化了 JDBC 的开发,特点是灵活、可定制、简单直观,提供大量的功能,包括事务处理、元数据操作、类型处理、检视、输入输出处理和转化,带连接池的数据源支持;缓存和懒查询执行;命名参数;多供应商...

    异常处理和JDBC

    Java Database Connectivity SQL层面的API 与SQL一致 可在现有数据库接口上实现 提供一致的JAVA界面 简单化 使用健壮、静态的通用数据类型 多种方法、多种功能

    JDBC API教程与参考手册part3

    行集技术支持以JavaBeansTM组件来处理数据集。此外,本书还介绍了JdbcRowSet、CachedRowSet、WebRowSet、JoinRowSet和FilteredRowSet对象的标准实现。 本书对JDBCAPI中的每个类和接口(从Array到XADataSource)都提供...

    数据算法 hadoop spark大数据处理技巧

    《数据算法:Hadoop/Spark大数据处理技巧》介绍了很多基本设计模式、优化技术和数据挖掘及机器学习解决方案,以解决生物信息学、基因组学、统计和社交网络分析等领域的很多问题。这还概要介绍了MapReduce、Hadoop和...

    JDBC API教程与参考手册part4

    行集技术支持以JavaBeansTM组件来处理数据集。此外,本书还介绍了JdbcRowSet、CachedRowSet、WebRowSet、JoinRowSet和FilteredRowSet对象的标准实现。 本书对JDBCAPI中的每个类和接口(从Array到XADataSource)都提供...

    cassandra-spark-jdbc-bridge:如果要通过JDBC查询Cassandra数据,但想使用Spark SQL的强大功能进行数据处理,则需要此应用程序

    如果要通过JDBC查询Cassandra数据,但要使用Spark SQL的功能进行数据处理,则需要此应用程序。 此应用程序(CSJB)是Spark应用程序,它将在Spark SQL中自动将所有Cassandra表注册为架构RDD,并启动嵌入式Apache ...

Global site tag (gtag.js) - Google Analytics