向数据库中插入BLOB类型数据
跳到导航
跳到搜索
https://www.bilibili.com/video/BV1eJ411c7rf/?p=29
- PreparedStatement 可以操作 BLOB 类型的数据,但 Statement 不能。
- MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。
- 插入BLOB类型的数据必须使用 PreparedStatement,因为 BLOB 类型的数据无法使用字符串拼接写的。
- MySQL中的四种BLOB类型(除了在存储的最大信息量上不同外,它们是等同的)
类型 | 大小(单位:字节) |
---|---|
TinyBlob | 最大 255 |
Blob | 最大 65K |
MediumBlob | 最大 16M |
LongBlob | 最大 4G |
- 实际使用中根据需要存入的数据大小定义不同的BLOB类型。
- 需要注意的是:如果存储的文件过大,数据库的性能会下降。
- 如果在指定了相关的 Blob 类型以后,还报错:xxx too large,那么在 MySQL 的安装目录下,找 my.ini 文件加上如下的配置参数:
max_allowed_packet=16M
同时注意:修改了 my.ini 文件之后,需要重启 MySQL 服务。
https://github.com/jihch/jdbc/blob/main/src/main/java/io/github/jihch/blob/BlobTest.java