读写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();