如何在java中创建BLOB对象?

vij*_*ayk 11 java blob jdbc

1.如何在java中创建BLOB对象?
2.如何从db设置BLOB值?
3.如何在DB中设置BLOB值?

我已经创建了BLOB对象

byte [] fileId=b.toByteArray();
    Blob blob=new SerialBlob(fileId);
Run Code Online (Sandbox Code Playgroud)

但它给了我错误.所以请任何人帮助我.提前致谢.

Evg*_*eev 23

1)创建BLOB使用Connection.createBlob

2)使用PreparedStatement.setBlob将BLOB写入DB

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);
Run Code Online (Sandbox Code Playgroud)