JAVA读写ORCALE CLOB字段

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

一、普通方式
        String driver="oracle.jdbc.driver.OracleDriver";
        String userName="";
        String password="";
        String url="jdbc:oracle:thin:@127.0.0.1:1521:dbName";
        Class.forName(driver);
        Connection conn=DriverManager.getConnection(url,userName,password);
        String sql="select  clobField  from xxx   for update";
        PreparedStatement ps=conn.prepareStatement(sql,x,x);
        ResultSet rs=ps.executeQuery();
        while(rs.next()){
             oracle.sql.CLOB clob=(oracle.sql.CLOB clob)rs.getClob("clobField");
             BufferedReader in = new BufferedReader(clob.getCharacterStream());
              StringBuffer strBuf = new StringBuffer();
              String str=in.readLine();
              while (str!=null) {
                strBuf.append(str+"/n");
                str=in.readLine();
              } 
             in.close();
            BufferedWriter    out = new BufferedWriter(clob.getCharacterOutputStream());  
            out.append("/n"+"添加新东西");
   out.close();
     }       
二、使用HIBERNATE(3.0)操作        
  实体类属性类型定义为java.sql.Clob
         public class ClobEntity{
            public ClobEntity(){
           }
           private java.sql.Clob clobField;
           public java.sql.Clob getClobField(){
                return clobField;
            }
           public void setClobField(java.sql.Clob clob){
                this.clobField=clob;
           }
   //其他属性
          }
          操作方式如下
         ClobEntity entity=new ClobEntity();
  Session s = HibernateUtil.getInstance().currentSession();
         entity.setClobField(Hibernate.createClob("  "));
  s.saveOrUpdate(entity);
         s.refresh(entity,LockMode.UPDATE);
         //SerializableClob 是hibernate3.0中的类,Hibernate.createClob(" ")产生的对象就是此类型
         SerializableClob clob= (SerializableClob) entity.getClobField();
  Writer writer = ((oracle.sql.CLOB) clob.getWrappedClob()).
                                getCharacterOutputStream();
         writer.write(xxx);
         writer.close();
       ...............................      

运用Java如何存取Oracle中的CLOB类型字段 立即下载

相关推荐

clob 对应java 类型_Clob字段Java类中字段对应

最近在使用webservice的时候接受客户端的字符串,是使用xml或者json格式的字符串.在对应的句javaBean中直接使用String类型保存,数据库后台使用的是Clob字段对应.代码如下类似:import java.util.Date;import javax.persistence.Basic;import javax.persistence.Column;import javax.p...

weixin_35671798的博客 7068

java操作OracleCLOB类型

今天同事问我是否用过oracle中的CLOB类型,说实话-没听过。 百度了解了下,CLOBoracle中用于存储文字的大字段类型、当需要存入大数据量(大于4000)时,varchar2不够用,可以使用clobOracleSQL语句中的两个单引号之间的字符数不能大于4000的限制。'" + data + "' data在sql语句之间,当data的值大于4000个字节时就会报错。

牛宝峰 3973

【无标题】Java通过Mybatis操作OracleClob和Blob

前段时间到客户现场出差,在现场遇到了base64和图片互相转换的问题,在现场肯定不如自己安安静静写代码的时候冷静,为了解决问题几乎浪费了一整天,所以这篇文章也是为了梳理一下Java通过Mybatis操作OracleClob和Blob的解决方式和注意事项 首先我们要搞清楚CLOB和BLOB的区别,这两个被统称为LOB,即Large Object(大对象类型),最本质的区别 CLOB的C,可以理解为Char(当然这种理解方式肯定不对),所以CLOB保存的是字符大对象 BLOB的B,即Binary,保

qq_44718958的博客 6841

JavaOracleClob类型数据的读取和写入(转)

JavaOracleClob数据类型是不能够直接插入的,但是可以通过流的形式对clob类型数据写入或者读取,网上代码并不算特别多,讲的也不是很清楚,我对网上资料进行了整理和总结,具体看代码: 写入clob数据 import java.io.Writer; import java.sql.Connection; import java.sql.DriverManager; im

Stay hungry, Stay foolish 1118

clob oracle 连接_oracleCLOB处理完整版

/****操作oracle数据库的CLOB字段,包括读和写*作者:令少爷* */http://www.gaodaima.com/41651.htmloracleCLOB处理完整版package com.nes.common.sql.lob;import java.sql.*;import java.io.*;import oracle.jdbc.OracleResultSet;import or...

weixin_39637661的博客 422

JDBC 复习3 存取Oracle大数据 clob blob

1 目录结构记得导包咯 mysql oracle 2 代码,DBUtil工具类见前面的随笔博文 package dbex.mysql; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io...

dashan_1200的博客 194

oracle边读边写,测试向oracle 读,写文件Blob 读,写大文本Clob

package com.semovy.test;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOE...

weixin_39935654的博客 163

spring处理oracle字段

spring中采用OracleLobHandler来处理oracle字段(包括clob和blob),则在程序中不需要引用oracle的特殊类,从而能够保证支持我们的代码支持多数据库。 1、数据表中的clob类型对应java持久化类的String类型;而blob对应byte[]类型 2、定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为or...

mosquito2a的博客 195

orcale 经典问答,看完后理解你就是高手

01. Oracle安装完成后的初始口令? 02. ORACLE9IAS WEB CACHE的初始默认用户和密码? 03. oracle 8.0.5怎么创建数据库? 04. oracle 8.1.7怎么创建数据库? 05. oracle 9i 怎么创建数据库? 06. oracle中的裸设备指的是什么? 07. oracle如何区分 64-bit/32bit 版...

lingting2的博客 307

Mybatis最入门---大文本存储

[一步是咫尺,一步即天涯] 在日常开发中,我们除了基本的查询之外,经常遇到的情况还有对于大文本的存储.接下来,我们就来演示如何使用mybatis实现文本的存储。 准备工作: a.操作系统 :win7 x64 b.基本软件:MySQL,Mybatis,SQLyog ---------------------------------------------------

y-yg的博客 7666

oracleclob类型对应java,javaoracle9i中CLOB类型的操作

这是一个完整的使用javaoracle9i的操作,其实,使用oracle10g后,操作将非常方便,但现在由于仍在使用oracle9i,所以不得不忍受这种痛苦。现将对oracle9i中CLOB类型的操作,完整记录于此,权作自己的学习笔记吧。第一种情况:没有服务器,单独使用java直接连接数据库时:package com.hyq.test;import java.sql.SQLException;i...

weixin_30499315的博客 2059

java读取orcaleclob数据方法,不会乱码的!

package com.logcd.common; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.Reader; import java.io.Writer; imp

zimufuzi的专栏 1470

java读取clob字段的几种方法

最近频繁处理clob字段,故集中了几种读取clob字段的方法,供大家参考。 第一种: Clob clob = rs.getClob("remark");//java.sql.Clob String detailinfo = ""; if(clob != null){ detailinfo = clob.getSubString((long)1,(int)clob.length());

冷月宫主的专栏 1641

如何取出clob类型的数据

public String getreadclob(String roleid) throws Exception{ String getinfo = ""; String sql = "select personpublicid from ess_person_right where roleid='"+roleid+"'"; Session session = null; ...

wangzhiquan19860406的专栏 1948

通过Sql Server创建EXCEL文件:master..xp_cmdshell

Infor = '{"Message":"出现错误。"}' Or @ReturnValue=1 --判断调用存储过程是否成功;@Infor='创建EXCEL执行失败。@Infor='创建EXCEL执行成功。@Infor='调用存储过程失败。获取当前的一些需要的配置的值。查询结果,生成Excel。

weixin_44686958的博客 154
上一篇: javascript:window.popup()+XSLT弹出式菜单
NYLR
博客等级 码龄22年 0粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值