如何通过jdbc传输图片到mysql的一张表里的属性,属性的类型为varchar
时间: 2024-05-14 12:19:38 浏览: 51
用jdbc连接mysql资料
首先需要将图片转换成Base64编码格式,然后将编码后的字符串作为参数传入SQL语句中,插入到相应的表中。
以下是具体代码示例:
```Java
// 读取图片并进行Base64编码
String filePath = "C:/picture.jpg";
File file = new File(filePath);
String encodedFile = null;
try {
FileInputStream fileInputStream = new FileInputStream(file);
byte[] bytes = new byte[(int)file.length()];
fileInputStream.read(bytes);
encodedFile = Base64.getEncoder().encodeToString(bytes);
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
// 插入数据
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO image_table (image_property) VALUES (?)");
pstmt.setString(1, encodedFile);
pstmt.executeUpdate();
```
以上代码将图片存储到名为 `image_table` 的表中,属性为 `image_property`,类型为 `varchar`。请注意,该方法仅适用于小型图片,对于较大的图片建议采用文件流或其他存储方式。
阅读全文