妙用MySQL数据库:用图片存放记忆(图片存入mysql数据库)
近些年来,MySQL数据库作为一种开源关系型数据库,被广泛应用于各个行业,它的安全、高效的特性使它成为了数据库技术中最常用的工具之一。本文旨在简单介绍如何借助MySQL数据库来存储图片,以备将来做回忆。
首先,需要在 MySQL 数据库中创建一个含有附件文件类型的表。建表语句示例如下:
“` MySQL
CREATE TABLE posts (
id INTEGER NOT NULL AUTO_INCREMENT,
title VARCHAR(50),
attachment MEDIUMBLOB, –存储图片
PRIMARY KEY(id)
);
接下来,就可以通过文件流,将图片存入MySQL里面了,具体代码如下:
``` MySQLString path = "upload/my_picture.jpg";
InputStream inputStream = new FileInputStream(path);String sql = "INSERT INTO posts (title, attachment) VALUES (?, ?)";
PreparedStatement statement = null;statement = conn.prepareStatement(sql);
statement.setString(1, "My picture");statement.setBinaryStream(2, inputStream);
statement.executeUpdate();
最后,可以利用MySQL,将图片提取出来,回忆童年的美好时光呢。下面是提取图片的代码。
“` MySQL
String sql = “SELECT * FROM posts WHERE id = ?”;
PreparedStatement statement = null;
statement = conn.prepareStatement(sql);
statement.setInt(1, 1); //要取出的哪一个图片
ResultSet rs = statement.executeQuery();
while (rs.next()) {
InputStream inputStream = rs.getBinaryStream(“attachment”);
//将inputStream里的内容 转换成文件类型的文件
FileOutputStream out = new FileOutputStream(“upload/my_picture.jpg”);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
out.flush();
out.close();
inputStream.close();
}
以上所示,借助MySQL数据库的强大的存储技术,可以很方便的存储图片,以备将来回忆岁月美好。