仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 455|回复: 9
打印 上一主题 下一主题

[学习教程] 来看展现JDBC存取年夜型数据对象LOB情形的树模类

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:14:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。
展现JDBC存取ORACLE年夜型数据对象LOB几种情形的树模类
importjava.io.*;
  importjava.util.*;
  importjava.sql.*;
  publicclassLobPros
{
    /**
  *ORACLE驱动程序
  */
  privatestaticfinalStringDRIVER="oracle.jdbc.driver.OracleDriver";
    /**
  *ORACLE毗连用URL
  */
  privatestaticfinalStringURL="jdbc:oracle:thin:@test2000:1521:orac";
    /**
  *用户名
  */
  privatestaticfinalStringUSER="user";
    /**
  *暗码
  */
  privatestaticfinalStringPASSWORD="pswd";
    /**
  *数据库毗连
  */
  privatestaticConnectionconn=null;
    /**
  *SQL语句对象
  */
  privatestaticStatementstmt=null;
    /**
  *@roseuid3EDA089E02BC
  */
  publicLobPros()
  {
    }
    /**
  *往数据库中拔出一个新的CLOB对象
  *
  *@paraminfile-数据文件
  *@throwsjava.lang.Exception
  *@roseuid3EDA04A902BC
  */
  publicstaticvoidclobInsert(Stringinfile)throwsException
  {
    /*设定不主动提交*/
    booleandefaultCommit=conn.getAutoCommit();
    conn.setAutoCommit(false);
      try{
      /*拔出一个空的CLOB对象*/
      stmt.executeUpdate("INSERTINTOTEST_CLOBVALUES(111,EMPTY_CLOB())");
      /*查询此CLOB对象并锁定*/
      ResultSetrs=stmt.executeQuery("SELECTCLOBCOLFROMTEST_CLOBWHEREID=111FORUPDATE");
      while(rs.next()){
        /*掏出此CLOB对象*/
        oracle.sql.CLOBclob=(oracle.sql.CLOB)rs.getClob("CLOBCOL");
        /*向CLOB对象中写进数据*/
        BufferedWriterout=newBufferedWriter(clob.getCharacterOutputStream());
        BufferedReaderin=newBufferedReader(newFileReader(infile));
        intc;
        while((c=in.read())!=-1){
          out.write(c);
        }
        in.close();
        out.close();
      }
      /*正式提交*/
      conn.commit();
    }catch(Exceptionex){
      /*堕落回滚*/
      conn.rollback();
      throwex;
    }
      /*恢回复提交形态*/
    conn.setAutoCommit(defaultCommit);
  }
    /**
  *修正CLOB对象(是在原CLOB对象基本长进行掩盖式的修正)
  *
  *@paraminfile-数据文件
  *@throwsjava.lang.Exception
  *@roseuid3EDA04B60367
  */
  publicstaticvoidclobModify(Stringinfile)throwsException
  {
    /*设定不主动提交*/
    booleandefaultCommit=conn.getAutoCommit();
    conn.setAutoCommit(false);
      try{
      /*查询CLOB对象并锁定*/
      ResultSetrs=stmt.executeQuery("SELECTCLOBCOLFROMTEST_CLOBWHEREID=111FORUPDATE");
      while(rs.next()){
        /*猎取此CLOB对象*/
        oracle.sql.CLOBclob=(oracle.sql.CLOB)rs.getClob("CLOBCOL");
        /*举行掩盖式修正*/
        BufferedWriterout=newBufferedWriter(clob.getCharacterOutputStream());
        BufferedReaderin=newBufferedReader(newFileReader(infile));
        intc;
        while((c=in.read())!=-1){
          out.write(c);
        }
        in.close();
        out.close();
      }
      /*正式提交*/
      conn.commit();
    }catch(Exceptionex){
      /*堕落回滚*/
      conn.rollback();
      throwex;
    }
      /*恢回复提交形态*/
    conn.setAutoCommit(defaultCommit);
  }
    /**
  *交换CLOB对象(将原CLOB对象扫除,换成一个全新的CLOB对象)
  *
  *@paraminfile-数据文件
  *@throwsjava.lang.Exception
  *@roseuid3EDA04BF01E1
  */
  publicstaticvoidclobReplace(Stringinfile)throwsException
  {
    /*设定不主动提交*/
    booleandefaultCommit=conn.getAutoCommit();
    conn.setAutoCommit(false);
      try{
      /*清空原CLOB对象*/
      stmt.executeUpdate("UPDATETEST_CLOBSETCLOBCOL=EMPTY_CLOB()WHEREID=111");
      /*查询CLOB对象并锁定*/
      ResultSetrs=stmt.executeQuery("SELECTCLOBCOLFROMTEST_CLOBWHEREID=111FORUPDATE");
      while(rs.next()){
        /*猎取此CLOB对象*/
        oracle.sql.CLOBclob=(oracle.sql.CLOB)rs.getClob("CLOBCOL");
        /*更新数据*/
        BufferedWriterout=newBufferedWriter(clob.getCharacterOutputStream());
        BufferedReaderin=newBufferedReader(newFileReader(infile));
        intc;
        while((c=in.read())!=-1){
          out.write(c);
        }
        in.close();
        out.close();
      }
      /*正式提交*/
      conn.commit();
    }catch(Exceptionex){
      /*堕落回滚*/
      conn.rollback();
      throwex;
    }
      /*恢回复提交形态*/
    conn.setAutoCommit(defaultCommit);
  }
    /**
  *CLOB对象读取
  *
  *@paramoutfile-输入文件名
  *@throwsjava.lang.Exception
  *@roseuid3EDA04D80116
  */
  publicstaticvoidclobRead(Stringoutfile)throwsException
  {
    /*设定不主动提交*/
    booleandefaultCommit=conn.getAutoCommit();
    conn.setAutoCommit(false);
      try{
      /*查询CLOB对象*/
      ResultSetrs=stmt.executeQuery("SELECT*FROMTEST_CLOBWHEREID=111");
      while(rs.next()){
        /*猎取CLOB对象*/
        oracle.sql.CLOBclob=(oracle.sql.CLOB)rs.getClob("CLOBCOL");
        /*以字符情势输入*/
        BufferedReaderin=newBufferedReader(clob.getCharacterStream());
        BufferedWriterout=newBufferedWriter(newFileWriter(outfile));
        intc;
        while((c=in.read())!=-1){
          out.write(c);
        }
        out.close();
        in.close();
      }
    }catch(Exceptionex){
      conn.rollback();
      throwex;
    }
      /*恢回复提交形态*/
    conn.setAutoCommit(defaultCommit);
  }
    /**
  *向数据库中拔出一个新的BLOB对象
  *
  *@paraminfile-数据文件
  *@throwsjava.lang.Exception
  *@roseuid3EDA04E300F6
  */
  publicstaticvoidblobInsert(Stringinfile)throwsException
  {
    /*设定不主动提交*/
    booleandefaultCommit=conn.getAutoCommit();
    conn.setAutoCommit(false);
      try{
      /*拔出一个空的BLOB对象*/
      stmt.executeUpdate("INSERTINTOTEST_BLOBVALUES(222,EMPTY_BLOB())");
      /*查询此BLOB对象并锁定*/
      ResultSetrs=stmt.executeQuery("SELECTBLOBCOLFROMTEST_BLOBWHEREID=222FORUPDATE");
      while(rs.next()){
        /*掏出此BLOB对象*/
        oracle.sql.BLOBblob=(oracle.sql.BLOB)rs.getBlob("BLOBCOL");
        /*向BLOB对象中写进数据*/
        BufferedOutputStreamout=newBufferedOutputStream(blob.getBinaryOutputStream());
        BufferedInputStreamin=newBufferedInputStream(newFileInputStream(infile));
        intc;
        while((c=in.read())!=-1){
          out.write(c);
        }
        in.close();
        out.close();
      }
      /*正式提交*/
      conn.commit();
    }catch(Exceptionex){
      /*堕落回滚*/
      conn.rollback();
      throwex;
    }
      /*恢回复提交形态*/
    conn.setAutoCommit(defaultCommit);
  }
    /**
  *修正BLOB对象(是在原BLOB对象基本长进行掩盖式的修正)
  *
  *@paraminfile-数据文件
  *@throwsjava.lang.Exception
  *@roseuid3EDA04E90106
  */
  publicstaticvoidblobModify(Stringinfile)throwsException
  {
    /*设定不主动提交*/
    booleandefaultCommit=conn.getAutoCommit();
    conn.setAutoCommit(false);
      try{
      /*查询BLOB对象并锁定*/
      ResultSetrs=stmt.executeQuery("SELECTBLOBCOLFROMTEST_BLOBWHEREID=222FORUPDATE");
      while(rs.next()){
        /*掏出此BLOB对象*/
        oracle.sql.BLOBblob=(oracle.sql.BLOB)rs.getBlob("BLOBCOL");
        /*向BLOB对象中写进数据*/
        BufferedOutputStreamout=newBufferedOutputStream(blob.getBinaryOutputStream());
        BufferedInputStreamin=newBufferedInputStream(newFileInputStream(infile));
        intc;
        while((c=in.read())!=-1){
          out.write(c);
        }
        in.close();
        out.close();
      }
      /*正式提交*/
      conn.commit();
    }catch(Exceptionex){
      /*堕落回滚*/
      conn.rollback();
      throwex;
    }
      /*恢回复提交形态*/
    conn.setAutoCommit(defaultCommit);
  }
    /**
  *交换BLOB对象(将原BLOB对象扫除,换成一个全新的BLOB对象)
  *
  *@paraminfile-数据文件
  *@throwsjava.lang.Exception
  *@roseuid3EDA0505000C
  */
  publicstaticvoidblobReplace(Stringinfile)throwsException
  {
    /*设定不主动提交*/
    booleandefaultCommit=conn.getAutoCommit();
    conn.setAutoCommit(false);
      try{
      /*清空原BLOB对象*/
      stmt.executeUpdate("UPDATETEST_BLOBSETBLOBCOL=EMPTY_BLOB()WHEREID=222");
      /*查询此BLOB对象并锁定*/
      ResultSetrs=stmt.executeQuery("SELECTBLOBCOLFROMTEST_BLOBWHEREID=222FORUPDATE");
      while(rs.next()){
        /*掏出此BLOB对象*/
        oracle.sql.BLOBblob=(oracle.sql.BLOB)rs.getBlob("BLOBCOL");
        /*向BLOB对象中写进数据*/
        BufferedOutputStreamout=newBufferedOutputStream(blob.getBinaryOutputStream());
        BufferedInputStreamin=newBufferedInputStream(newFileInputStream(infile));
        intc;
        while((c=in.read())!=-1){
          out.write(c);
        }
        in.close();
        out.close();
      }
      /*正式提交*/
      conn.commit();
    }catch(Exceptionex){
      /*堕落回滚*/
      conn.rollback();
      throwex;
    }
      /*恢回复提交形态*/
    conn.setAutoCommit(defaultCommit);
  }
    /**
  *BLOB对象读取
  *
  *@paramoutfile-输入文件名
  *@throwsjava.lang.Exception
  *@roseuid3EDA050B003B
  */
  publicstaticvoidblobRead(Stringoutfile)throwsException
  {
    /*设定不主动提交*/
    booleandefaultCommit=conn.getAutoCommit();
    conn.setAutoCommit(false);
      try{
      /*查询BLOB对象*/
      ResultSetrs=stmt.executeQuery("SELECTBLOBCOLFROMTEST_BLOBWHEREID=222");
      while(rs.next()){
        /*掏出此BLOB对象*/
        oracle.sql.BLOBblob=(oracle.sql.BLOB)rs.getBlob("BLOBCOL");
        /*以二进制情势输入*/
        BufferedOutputStreamout=newBufferedOutputStream(newFileOutputStream(outfile));
        BufferedInputStreamin=newBufferedInputStream(blob.getBinaryStream());
        intc;
        while((c=in.read())!=-1){
          out.write(c);
        }
        in.close();
        out.close();
      }
      /*正式提交*/
      conn.commit();
    }catch(Exceptionex){
      /*堕落回滚*/
      conn.rollback();
      throwex;
    }
      /*恢回复提交形态*/
    conn.setAutoCommit(defaultCommit);
  }
    /**
  *创建测试用表格
  *@throwsException
  */
  publicstaticvoidcreateTables()throwsException{
    try{
      stmt.executeUpdate("CREATETABLETEST_CLOB(IDNUMBER(3),CLOBCOLCLOB)");
      stmt.executeUpdate("CREATETABLETEST_BLOB(IDNUMBER(3),BLOBCOLBLOB)");
    }catch(Exceptionex){
      }
  }
    /**
  *@paramargs-命令行参数
  *@throwsjava.lang.Exception
  *@roseuid3EDA052002AC
  */
  publicstaticvoidmain(String[]args)throwsException
  {
    /*装载驱动,创建数据库毗连*/
    Class.forName(DRIVER);
    conn=DriverManager.getConnection(URL,USER,PASSWORD);
    stmt=conn.createStatement();
      /*创建测试表格*/
    createTables();
      /*CLOB对象拔出测试*/
    clobInsert("c:/clobInsert.txt");
    clobRead("c:/clobInsert.out");
      /*CLOB对象修正测试*/
    clobModify("c:/clobModify.txt");
    clobRead("c:/clobModify.out");
      /*CLOB对象交换测试*/
    clobReplace("c:/clobReplace.txt");
    clobRead("c:/clobReplace.out");
      /*BLOB对象拔出测试*/
    blobInsert("c:/blobInsert.doc");
    blobRead("c:/blobInsert.out");
      /*BLOB对象修正测试*/
    blobModify("c:/blobModify.doc");
    blobRead("c:/blobModify.out");
      /*BLOB对象交换测试*/
    blobReplace("c:/blobReplace.doc");
    blobRead("c:/bolbReplace.out");
      /*封闭资本加入*/
    conn.close();
    System.exit(0);
  }
}

没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之!
若天明 该用户已被删除
沙发
发表于 2015-1-20 18:23:52 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
老尸 该用户已被删除
板凳
发表于 2015-1-27 05:16:30 | 只看该作者
是一种突破用户端机器环境和CPU
透明 该用户已被删除
地板
发表于 2015-2-2 21:04:26 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
简单生活 该用户已被删除
5#
发表于 2015-2-8 18:40:12 | 只看该作者
是一种使用者不需花费很多时间学习的语言
海妖 该用户已被删除
6#
发表于 2015-2-25 22:08:09 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
若相依 该用户已被删除
7#
发表于 2015-3-8 07:19:05 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
兰色精灵 该用户已被删除
8#
发表于 2015-3-12 18:09:20 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-13 07:08:36 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
因胸联盟 该用户已被删除
10#
发表于 2015-3-20 16:12:03 | 只看该作者
是一种突破用户端机器环境和CPU
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-27 13:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表