insert的时候插入empty_bolb(),然后用行级锁锁定行,得到blob对象(oracle.sql.Blob),获取其binaryStream,然后用blob.length()得到该对象大小(为什么不能用binaryStream的available()方法,It is never correct to use the return value of this method to allocate a buffer intended to hold all data in this stream.),写入就ok了。
1、插入空blob
into javatest(name,content) values(?,empty_blob());
2、获得blob的cursor
select content from javatest where name= ? for update;
注意!!!必须加for update,这将锁定该行,直至该行被修改完毕,保证不产生并发冲突。
3、update javatest set content=? where name=