如何在Java中将BLOB转换为字节数组?
您可以使用getBytes()
方法将Blob的内容放入字节数组。
示例
import java.awt.Image;import java.awt.image.BufferedImage;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Arrays;
public class BlobToByteArray {
public static void main(String[] args) throws Exception {
Image image = new BufferedImage(300,400, BufferedImage.TYPE_INT_RGB);
String JDBC_DRIVER = "com.mysql.jdbc.Driver";
String DB_URL = "jdbc:mysql://localhost/mydb";
String USER = "root";
String PASS = "password";
Connection conn = null;
Statement stmt = null;
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected database successfully...");
System.out.println("getting blob.......");
stmt = conn.createStatement();
String sql = "SELECT * FROM sample";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
Blob blob = rs.getBlob("image");
byte [] bytes = blob.getBytes(1l, (int)blob.length());
for(int i=0; i<bytes.length;i++) {
System.out.println(Arrays.toString(bytes));
}
}
}
}
输出结果
Connecting to a selected database...Connected database successfully...
getting blob.......
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
[100, 58, 115, 97, 109, 112, 108, 101, 46, 106, 112, 103]
以上是 如何在Java中将BLOB转换为字节数组? 的全部内容, 来源链接: utcz.com/z/353502.html