java 保存mysql blob
时间: 2023-10-10 19:08:58 浏览: 191
Java 使用 JDBC API 来与 MySQL 数据库进行交互,可以通过 JDBC API 实现保存二进制数据(如图片、音频、视频)到 MySQL 中的 BLOB 字段。
下面是一个保存图片到 MySQL 中 BLOB 字段的示例代码:
```java
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class SaveImageToMysql {
public static void main(String[] args) {
try {
// 加载 MySQL JDBC 驱动
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "password");
// 创建 PreparedStatement 对象
PreparedStatement ps = conn.prepareStatement(
"INSERT INTO images (name, image) VALUES (?, ?)");
// 设置参数
ps.setString(1, "test.jpg");
File imageFile = new File("test.jpg");
FileInputStream fis = new FileInputStream(imageFile);
ps.setBinaryStream(2, fis, (int) imageFile.length());
// 执行 SQL 语句
ps.executeUpdate();
// 关闭资源
fis.close();
ps.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在以上代码中,我们首先加载 MySQL JDBC 驱动,并创建数据库连接。然后创建一个 PreparedStatement 对象,该对象包含了一个 SQL 语句,用于将图片保存到数据库中。接着设置参数,其中第一个参数是图片的名称,第二个参数是图片的二进制流。最后执行 SQL 语句,关闭资源。
注意:上述代码中的表名 images 和字段名 name、image 都是示例,需要根据实际情况进行修改。
阅读全文