内置对象Clob对从数据库表中取的字符大对象CLOB类型的列值进行读取操作
2015-06-11 23:29
381 查看
package readclobDemo.bao; import java.io.IOException; import java.io.Reader; import java.sql.Clob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import jdbcutil.bao.JdbcUtil; public class ReadClobDemo { /** CLOB用于存储大量的字符数据,程序的主要功能为从数据库中通过jdbc获取CLOB字段,将其转化为IO进行读取, 所以首先通过查询语句得到CLOB字段,再将CLOB从结果集中获得并将其转化为oracle.sql.CLOB类型进行写入操作 * @throws IOException */ /* CREATE TABLE "HR"."CLOB_1" ( "ID" NUMBER(*,0), "CLOB_TEXT" CLOB ) SEGMENT CREATION IMMEDIATE *///在oracle创建表CLOB_1; public static void readclob(int id) throws IOException{ Connection conn=null; PreparedStatement patst=null; ResultSet rs=null; String sql="select * from CLOB_1 where id=?"; try { conn=JdbcUtil.getConnection(); //通过获得数据连接池JdbcUtil中分配的数据库连接接口进行数据库的连接 patst=conn.prepareStatement(sql); patst.setInt(1, id); rs=patst.executeQuery(); //返回结果集; if(rs.next()){ Clob clob=rs.getClob("CLOB_TEXT"); //Clob对象在它被创建的事务处理期间有效 Reader rd=clob.getCharacterStream(); char[] chars = new char[1024]; //定义一个字符数组 int length=0; System.out.print("CLOB_TEXT:"); //通过Io流读取返回int字节值转化为char类型直到没有字节,返回-1 while((length=rd.read(chars)) != -1) { if(length==1024){ System.out.print(chars); }else{ System.out.print(new String(chars,0,length));//不够长度1024的字符数组只显示有值的字符串 } } } } catch (SQLException e1) { e1.printStackTrace(); } finally{ JdbcUtil.free(rs, patst, conn);//调用JdbcUtil定义的free方法关闭各接口; } } public static void main(String[] args) throws IOException { readclob(1); } }
相关文章推荐
- 上课笔记第二十九天、mysql、mysql编译安装及组成、客户端、变量和类型
- sqlite使用之模糊查询数据库数据的三种方式(待完善)
- Oracle EBS R12 WIP Component Issue&Return Process
- tomcat使用redis存储共享session
- 2015061105 - Mysql大小写敏感的问题
- powerDesigner创建数据库并导出sql文件
- DB2数据库性能监控和调优实践
- 学习时用的软件最新 开发环境为Visual Studio 2010,数据库为SQLServer2005,使用.net 4.0开发。 超市管理系统
- (DBA之路【四】)mysql show 指令集合
- oracle在schema是什么意思?
- SQL——关于 group by、having
- 如何学习PostgreSql sql 语法
- oracle 新建用户并赋予SDE用户的权限
- mysql 同步
- PL/SQL Developer连接本地Oracle 11g 64位数据库
- SQL Server 存储过程
- 【实验总结二】如何从文本中批量导入数据
- PostgreSQL9 连接数据库的连接信息
- 表结构相同的表,且在同一数据库 数据复制
- 【web安全】第六弹:手工SQL注入详解