1.如何在java中创建BLOB对象?
2.如何设置db的BLOB值?
3.如何在DB中设置BLOB值?
我创建了BLOB对象,如
byte [] fileId=b.toByteArray();
Blob blob=new SerialBlob(fileId);
但它给了我错误。所以请任何人帮助我。 提前谢谢。
答案 0 :(得分:22)
1)创建BLOB使用Connection.createBlob
2)将BLOB写入DB使用PreparedStatement.setBlob
3)从DB中读取BLOB使用ResultSet.getBlob
假设您的表t1具有BLOB列b1:
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
Blob b1 = conn.createBlob();
b1.setBytes(1, new byte[10]); // first position is 1. Otherwise you get: Value of offset/position/start should be in the range [1, len] where len is length of Large Object[LOB]
PreparedStatement ps = conn.prepareStatement("update t1 set c1 = ?");
ps.setBlob(1, b1);
ps.executeUpdate();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select c1 from t1");
Blob b2 = rs.getBlob(1);