请帮我用JAVA写一段代码功能是:将图片存入mysql数据库
时间: 2024-04-29 18:20:49 浏览: 94
好的,以下是一段用JAVA实现将图片存入mysql数据库的代码:
```
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class SaveImageToDatabase {
public static void main(String[] args) {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/testdb";
String username = "root";
String password = "123456";
Connection conn = null;
PreparedStatement ps = null;
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
File file = new File("test.jpg");
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
ps = conn.prepareStatement("INSERT INTO images(id, data) VALUES (?, ?)");
ps.setInt(1, 1);
ps.setBinaryStream(2, bis, (int)file.length());
ps.execute();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (bis != null) {
bis.close();
}
if (fis != null) {
fis.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
这段代码首先连接了一个名为testdb的mysql数据库,然后从本地读取一张名为test.jpg的图片,将其转换为二进制流并存入数据库中名为images的表中。如果需要改变图片或数据库表的名称,需要在代码中进行相应的修改。
阅读全文