今天给大家说个好玩~
如何用Java在MySQL数据库中插入图片
有些开发人员更喜欢将他们的图像放入数据库,有些则更喜欢将其保存在文件系统中以供应用程序使用。当我们处理大量图像时,会出现技术困难。图像是二进制数据。MySQL数据库有一种特殊的数据类型来存储二进制数据,称为BLOB(binary Large Object)。
使用的工具和技术
- Java 1.8+
- MySQL connector - 8.0.5
- Eclipse IDE
- Maven
确保您得电脑安装了MYSQL
添加MySQL依赖项
创建Database
使用以下语句创建数据库:
为了在MySQL数据库中保存图像,通常使用blob类型。因此,让我们使用blob数据类型在上面创建的数据库中创建Images表:
图像是二进制数据。MySQL数据库有一种特殊的数据类型来存储二进制数据,称为BLOB(binary Large Object)。有四种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。
使用Java将图像插入MySQL数据库
在本例中,我们从当前工作目录中读取一个PNG图像,并将其插入到Images表中。
您可以使用select语句检查插入到Images表中的记录:
select * from Images;
让我们了解一下上面的程序。
这是用于插入图像的SQL:
String sql = "INSERT INTO Images(Data) VALUES(?)";
我们为图像文件创建一个文件对象。要从该文件读取字节,我们创建一个FileInputStream对象:
二进制流被设置为准备好的语句:
pst.setBinaryStream(1, fin, (int) myFile.length());
我们执行声明:
pst.executeUpdate();