读写LOB

大对象LOB(BLOB二进制大对象  CLOB字符型大对象)

获取LOB

PreparedStatement stat = conn.prepareStatement("SELECT cover FROM bookcover WHERE ISBN=?");

stat.set(1,isbn);

ResultSet rs= stat.executeQuery();

if(rs.next()){

  Blob coverBlob= rs.getBlob();

  Image ccoverImage= ImageIO.read(coverBlob.getInputStream());

  //如果获取了Clob对象,那么可以调用getSubString或getCharacterStream来获取其中的字符数据

}

存储LOB

Blob coverBlob =connection.createBlob();

int offset=0;

OutputStream out =coverBlob.setBinaryStream(offset);

ImageIO.write(coverImage,"PNG",out);

PreparedStatement stat=conn.prepareStatement("INSERT INTO cover VALUES(?,?)");

stat.set(1,isbn);

stat.set(2,coverBlob);

stat.executeUpdate();

posted @ 2013-08-29 14:15  562323273  阅读(143)  评论(0编辑  收藏  举报