使用JDBC处理大数据(Large Objects)
在实际开发中,程序需要把大文本或二进制数据保存到数据库(例如一个电影、一个很长很长的大文本要存入数据库)中,用JDBC该怎么操作呢?
1、 在实际开发中,程序需要把大文本或二进制数据保存到数据库。
基本概念:大数据也称之为LOB(Lager Object),LOB又分为clob和blob:
(1) clob用于存储大文本。Text
(2) bolb用于存储二进制数据,例如:图像、声音、二进制文等。
(3) 对MySql而言之有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为:
1) TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT
2) TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB
2、处理大文本数据
案例1,向数据库的表中插入或读取大文本数据。
准备:
(1)com.hbsi.utils包下的DBManager类负责获得连接以及资源的释放。
(2)属性文件db.properties保存了建立连接时需要的参数。
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/demodb
username=root
password=root
(3)MySQL的驱动
(4)src目录下放置一个文本文件1.txt
(5)创建数据库、表
create database demodb;
use demodb;
create table testclob
(
id int primary key auto_increment,
resume text
);
编写代码:Demo1.java
public void insert(){
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try{
conn = DBManager.getConnection();
String sql = "insert into testclob(resume) values(?)";