在实际的开发过程中,我们可能需要把大文本或者二进制数据存储到数据库中,下面我们一起来学习一个如何使用JDBC向mysql中插入大文本数据。
在数据库中,大数据称为LOB(Large Objects),而LOB可以分为,clob和blob:
- clob用于存储大文本Text
blob用于存储二进制数据,例如图像、声音、二进制文等
在mysql中,提供了以下的数据类型来存储clob和blob:
- TINYTEXT(255)、TEXT(64k)、MEDIUMTEXT(16M)、LONGTEXT(4G)
- TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB
下面我们开始jdbc操作大数据文本text的例子。
1 . 新建一个数据库表:
test/bigtext
create table bigtext(
id int primary key auto_increment,
name varchar(20),
content MEDIUMTEXT
);
2. 新建一个项目
导入mysql连接驱动包,这里我们要导入最新mysql-connector-java-5.1.40-bin.jar版本,然后准备好数据库配置文件和数据库连接工具类
详见我写的另一篇文章: 自己写一个数据库连接工具类
3. 实现插入大文本代码
public static boolean insertBigtext(String name,String path){
Connection conn = null;
PreparedStatement pre = null;
try{
//获取连接
conn = mysqlConnUtil.getConn();
//获取传输器
pre = conn.prepareStatement("insert into bigtext values(null,?,?)");
pre.setString(1, name);
File file = new File(path);
pre.setCharacterStream(2, new FileReader(file), file.length());
return pre.executeUpdate() >