使用java JDBC方式操作oracle blob类型数据
来源:互联网 发布:java模拟qq登录 编辑:程序博客网 时间:2024/05/22 01:59
/** * * @param query 表示sql语句 * @param idForQuery 标识主键 * @param value 表示需要写入的字符串数据 * @throws Exception */public static void writeBlobGBKBinaryStream(String query, int idForQuery,String value) throws Exception {PreparedStatement p = null;ResultSet rs = null;OutputStream blobWriter = null;try {p = JForumExecutionContext.getConnection().prepareStatement(query);p.setInt(1, idForQuery);rs = p.executeQuery();rs.next();Blob text = rs.getBlob(1);//在此获取第一个blob类型的字段,如果知道该段名称,也可以使用该名称if (text instanceof BLOB) {blobWriter = ((BLOB) text).getBinaryOutputStream();//获取字节输出流} else {blobWriter = text.setBinaryStream(0);}blobWriter.write(value.getBytes("GBK"));//写出数据blobWblobWriter.close();} catch (IOException e) {throw new DatabaseException(e);} finally {if (blobWriter != null) {blobWriter.close();}DbUtils.close(rs, p);}}
注意以下几点:
1,本方法只能插入一条记录,其本质上不是insert,而是update,因为当调用该方法之前,表中已存在一条数据,其blob类型的字段为空值,在此把空值填补上。
2,通过query参数是一个select参数,而不是insert或update,比如SELECT vblob FROM pub_t_bu_image where datakey=? FOR UPDATE 别忘记for update。在执行完查询之后别忘记rs.next(),这样才能定位到该条记录中。
3,一条记录中也可以加入多个blob类型数据。Blob text = rs.getBlob(1);可以理解为在select 语句中,我要获得第一个blob类型字段,如果有多个可以设置编号的不同,如果明确知道字段的名称,也可以直接使用。
4,获得流getBinaryOutputStream(),该方法在oracle.sql包中,与使用必先导入,另外需要验证类型是否为blob。
读的时候与之类似,不再赘述,只是注意编码方式保持一致。
- 使用java JDBC方式操作oracle blob类型数据
- 使用java JDBC方式操作oracle blob类型数据
- jdbc操作BLOB类型数据
- JDBC 对oracle 的clob ,blob类型的操作方式
- JDBC 对oracle 的clob ,blob类型的操作方式
- java 操作oracle的blob类型数据
- 利用JDBC操作Oracle CLOB和BLOB类型数据
- 使用JDBC操作基于Oracle的CLOB,BLOB字段类型
- jdbc处理Oracle中Blob类型数据
- Spring JDBC-使用Spring JDBC获取本地连接对象以及操作BLOB/CLOB类型数据
- JAVA-JDBC: (3)操作日期类型和CLOB、BLOB类型
- 通过JDBC 操作 ORACLE BLOB,CLOB字段类型
- (转)通过JDBC 操作 ORACLE BLOB,CLOB字段类型
- java操作oracle的blob,clob数据
- jdbc学习:操作Oracle的CLOB和BLOB数据
- JDBC操作Oracle BLOB对象
- Java JDBC读取二进制类型数据(BLOB)
- [疯狂Java]JDBC:用blob处理多媒体类型数据
- 立体阴影边框
- 处理的两个bug
- android中的主题Theme
- SAP SD销售与分销
- IplImage, CvMat, Mat 的关系
- 使用java JDBC方式操作oracle blob类型数据
- Jquery简单瀑布流代码示例. 仿开心网,蘑菇街
- error C2143:语法错误 : 缺少“;”(在“类型”的前面)的解决方案
- 添加自定义标题栏
- psycopg2 momoko ImportError: libpq.so.5:
- SAP MM物料管理
- ibatis映射类型异常
- 我国农村人均收入增长将连续三年超GDP增长幅度
- SAP PP生产计划