mysql表mtable中有个photo字段,格式为longbolb,在其中id=1的记录中,保存了6张不同的图片,请读取并把这6张图片保存到byte[][]格式的photos中,请给出代码
时间: 2024-05-11 21:13:56 浏览: 76
以下是Java语言的代码示例:
```java
// 连接到MySQL数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
// 创建Statement对象
Statement stmt = conn.createStatement();
// 查询photo字段为id=1的记录
ResultSet rs = stmt.executeQuery("SELECT photo FROM mtable WHERE id=1");
// 创建一个List来保存所有的byte数组
List<byte[]> photosList = new ArrayList<>();
// 遍历结果集,读取每张图片
while (rs.next()) {
// 把Blob类型的photo字段转换为字节数组
Blob blob = rs.getBlob("photo");
byte[] photoBytes = blob.getBytes(1, (int) blob.length());
// 把字节数组添加到List中
photosList.add(photoBytes);
}
// 把List转换为byte[][]数组
byte[][] photos = new byte[photosList.size()][];
for (int i = 0; i < photosList.size(); i++) {
photos[i] = photosList.get(i);
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
```
阅读全文