如何创建 BLOB 对象?

2022-09-04 08:16:36
  1. 如何在Java中创建BLOB对象?
  2. 如何从数据库设置 BLOB 值?
  3. 如何在数据库中设置 BLOB 值?

我创建了BLOB对象,如下所示:

byte [] fileId = b.toByteArray();
Blob blob = new SerialBlob(fileId);

但它给了我一个错误。


答案 1
  1. 以创建 BLOB 使用Connection.createBlob

  2. 将 BLOB 写入数据库使用PreparedStatement.setBlob

  3. 从数据库使用中读取 BLOBResultSet.getBlob

假设您有带有 BLOB 列的表:t1b1

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);

答案 2

推荐