jdbc大数据处理
来源:互联网 发布:sql 分隔符截取字符串 编辑:程序博客网 时间:2024/04/30 01:09
一:大数据也称为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大数据处理
- JDBC大文本数据处理浅谈
- jdbc基础 (三) 大文本、二进制数据处理
- jdbc心得-4-分页、元数据、大数据处理
- JDBC相关的知识点+大数据处理+防止sql注入攻击
- JDBC 其二(加强)批处理,大数据处理,事务
- 大数据处理
- 大数据处理
- 大数据处理
- 大数据处理
- 大数据处理
- 大数据处理
- 大数据处理
- 大数据处理
- 大数据处理
- 大数据处理
- 大数据处理
- 大数据处理
- 让GtkTextView支持undo/redo操作
- 驱动注册platform_driver
- Android开放引发混乱 谷歌可能适当封闭
- MS08-067.c
- 学院网站做完了
- jdbc大数据处理
- 既来之
- 模板方法模式
- the first……
- 真的好美
- 计算机网络知识体系
- SIP通过NAT的实例解析
- Linux 中文乱码
- PictureBox 的简单操作 (C# WinForm)