向数据库中插入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