读写LOB

在SQL中,LOB分为两种:BLOB和CLOB。二进制大对象称为BLOB,字符型大对象称为CLOB

1、读LOB:

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

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

}

类似的,如果获取了Clob对象,那么就可以通过调用getSubString或getCharacterStream来获取其中的字符数据。

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

类似的,如果获取了Clob对象,那么就可以通过调用connection.createClob()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值