web-dev-qa-db-ja.com

JavaでBLOBオブジェクトを作成する方法は?

1.JavaでBLOBオブジェクトを作成するには?
2。dbからBLOB値を設定するには?
3.DBでBLOB値を設定するにはどうすればよいですか?

私はBLOBオブジェクトを次のように作成しました

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

しかし、それは私にエラーを与えます。だから誰か助けてください。前もって感謝します。

11
vijayk

1)BLOBを作成するには、Connection.createBlobを使用します

2)PreparedStatement.setBlobを使用してBLOBをDBに書き込む

3)DBからBLOBを読み取るには、ResultSet.getBlobを使用します。

BLOB列b1を持つテーブルt1があるとします。

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