SQL小结(四)
2015-07-26 18:19
435 查看
数据库还可以储存大对象——图片或其他数据,二进制大对象为BOLB,字符型大对象为CLOB,以下为获取图像:
PreparedStatement stat = conn.prepareStatement("SELECT Cover FROM BookCovers WHERE ISBN =?"); stat.set(1.isbn); ResultSet result = stat.executeQuery(); if(result.next()){ Blob coverBlob = result.getBlob(1); Image coverImage = ImageIO.read(coverBlob.getBinaryStream()); }//CLOB调用getSubString或getCharacterStream方法
将该对象存储到数据库中:
Blob coverBlob = connection.createBlob(); in offset = 0; OutputStream out = coverBlob.setBinaryStream(offset); ImageIO.write(coverImage, "PNG", out); PreparedStatement stat = conn.prepareStatement("INSERT INTO Cover VALUES (?, ?)");