JAVA读取、写入、更新CLOB字段
来源:互联网 发布:linux 下安装vsftpd 编辑:程序博客网 时间:2024/06/06 18:02
- /*
- --建表语句如下:
- create table t_clob(
- id varchar2(32) primary key,
- clobfield CLOB
- );
- */
- /**
- * 读取CLOB字段的代码示例
- *
- * 作者:wallimn<br/>
- * 时间:2015-1-16<br/>
- * 联系:wallimn@sohu.com<br/>
- */
- public void readClob() {
- //自定义的数据库连接管理类
- Connection conn = DbManager.getInstance().getConnection();
- try {
- PreparedStatement stat = conn
- .prepareStatement("select clobfield from t_clob where id='1'");
- ResultSet rs = stat.executeQuery();
- if (rs.next()) {
- oracle.sql.CLOB clob = (oracle.sql.CLOB) rs
- .getClob("clobfield");
- String value = clob.getSubString(1, (int) clob.length());
- System.out.println("CLOB字段的值:" + value);
- }
- conn.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- DbManager.getInstance().closeConnection(conn);
- }
- /**
- * 写入、更新CLOB字段的代码示例
- *
- * 作者:wallimn<br/>
- * 时间:2015-1-16<br/>
- * 联系:wallimn@sohu.com<br/>
- */
- public void writeClob() {
- //自定义的数据库连接管理类
- Connection conn = DbManager.getInstance().getConnection();
- try {
- conn.setAutoCommit(false);
- // 1.这种方法写入CLOB字段可以。
- PreparedStatement stat = conn
- .prepareStatement("insert into t_clob (id,clobfield) values(sys_guid(),?)");
- String clobContent = "This is a very very long string";
- StringReader reader = new StringReader(clobContent);
- stat.setCharacterStream(1, reader, clobContent.length());
- stat.executeUpdate();
- // 2.使用类似的方法进行更新CLOB字段,则不能成功
- // stat.close();
- // stat =null;
- // stat =
- // conn.prepareStatement("update t_clob set clobfield=? where id=1");
- // stat.setCharacterStream(1, reader, clobContent.length());
- // stat.executeUpdate();
- // 3.需要使用for update方法来进行更新,
- // 但是,特别需要注意,如果原来CLOB字段有值,需要使用empty_clob()将其清空。
- // 如果原来是null,也不能更新,必须是empty_clob()返回的结果。
- stat = conn
- .prepareStatement("select clobfield from t_clob where id='1' for update");
- ResultSet rs = stat.executeQuery();
- if (rs.next()) {
- oracle.sql.CLOB clob = (oracle.sql.CLOB) rs
- .getClob("clobfield");
- Writer outStream = clob.getCharacterOutputStream();
- char[] c = clobContent.toCharArray();
- outStream.write(c, 0, c.length);
- outStream.flush();
- outStream.close();
- }
- conn.commit();
- } catch (SQLException | IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- DbManager.getInstance().closeConnection(conn);
- }
原文转载 http://wallimn.iteye.com/blog/2176537
0 0
- JAVA读取、写入、更新CLOB字段
- JAVA读取、写入、更新CLOB字段
- 【Oracle】Clob字段读取,写入,更新
- Java读取clob字段
- java操作将字符串写入clob字段
- Java中读取和写入Oracle(CLOB)
- JAVA中读取ORACLE的CLOB字段
- java读取Oracle中Clob字段
- JDBC读取clob字段
- oracle 更新clob字段
- JDBC更新CLOB字段
- oracle 更新Clob字段
- Java将数据写入Oracle的Clob字段中
- Java 存储和读取 oracle CLOB 类型字段
- Java 存储和读取 oracle CLOB 类型字段
- java读取clob字段的几种方法
- java读取clob字段的几种方法
- java 读取clob字段的几种方法
- How to display a byte array as hex values
- 机器学习算法:从原理到实践(持续更新中...)
- thinkPHP学习_第一天
- The value of the project attribute is null
- xxtea 加密解密
- JAVA读取、写入、更新CLOB字段
- MyBatis+MySQL 返回插入的主键ID
- Android中图片的三级缓存
- JS 可变参数
- 互联网金融项目——工作日志(五)之 maven项目打包
- centos yum安装memcached及php memcache扩展
- Activity 的生命周期之典型情况(复习笔记一)
- 【毕业平板制作diy】怕贴吧删帖移过来
- js 默认的参数、可变的参数、变量作用域