如何在java中创建BLOB对象?

问题描述:

1.如何在java中创建BLOB对象?

2.如何从db设置BLOB值?

3.如何在DB中设置BLOB值? br>

1.How to create BLOB object in java?
2.How to set the BLOB value from db?
3.How to set the BLOB value in DB?

我创建了BLOB对象,如

I have create the BLOB object like

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

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

But it gives me error..So please any one help me. Thanks in advance.

1)创建BLOB使用Connection.createBlob

1) to create BLOB use Connection.createBlob

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

2) to write BLOB to DB use PreparedStatement.setBlob

3)从数据库读取BLOB使用ResultSet.getBlob

3) to read BLOB from DB use ResultSet.getBlob

假设您的表t1包含BLOB列b1:

Assuming you have table t1 with BLOB column 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);