BLOB的全名是Binary Large Object ,用于存储大量的二进制数据,如图片、视频、音频等。
在MySQL中,大数据对象字段数据类型有TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB等。
它们的大小容量:
TINYBLOB ≈ 255 bytes
BLOB ≈ 64KB
MEDIUMBLOB ≈ 16MB
LONGBLOB ≈ 4GB
保存数据
保存数据到表使用的关键方法setBinaryStream(),参数设置InputStream流。
我们只要将路径转换成File对象,将File转换成InputStream对象,将InputStream对象设置成PreparedStatement对象的参数。最后就能将二进制数据存储到表里。
建表脚本如下:
CREATE TABLE bigtb (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(45) COLLATE utf8_bin DEFAULT NULL,
file mediumtext COLLATE utf8_bin DEFAULT NULL,
images longblob DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
完整代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import

本文介绍了如何利用JDBC与MySQL交互,存储和读取BLOB类型的二进制大数据,如图片、视频、音频。通过创建表、设置setBinaryStream方法保存数据,并演示了使用getBinaryStream读取数据的流程。
最低0.47元/天 解锁文章
1781

被折叠的 条评论
为什么被折叠?



