How to create BLOB object in java?

拥有回忆 提交于 2019-11-27 16:18:06

问题


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?

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:


1) to create BLOB use Connection.createBlob

2) to write BLOB to DB use PreparedStatement.setBlob

3) to read BLOB from DB use ResultSet.getBlob

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


来源:https://stackoverflow.com/questions/17312133/how-to-create-blob-object-in-java

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!