仓酷云

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

[学习教程] JAVA网页设计oracle之CLOB处置完全版

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

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

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

x
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。oracle/**
*
*操纵oracle数据库的CLOB字段,包含读和写
*令少爷
**/

packagecom.nes.common.sql.lob;

importjava.sql.*;
importjava.io.*;
importoracle.jdbc.OracleResultSet;
importoracle.sql.*;

publicclassJClob{

StringtableName=null;//表名
StringprimaryKey=null;//表的主键名
StringprimaryValue=null;//表的主键值
StringfieldName=null;//表的CLOB字段名
StringclobValue=null;//表的CLOB字段值

Connectionconn=null;//与oracle的毗连

/**
*
*用于测试用
*
**/
publicstaticvoidmain(String[]args){
try{
JClobjc=newJClob(getConnection(),"aa","a","aaaa","c","ccc");
jc.write();
jc.read();
}
catch(Exceptione){
System.out.println(e);
e.printStackTrace();
}
}


/**
*
*机关办法
*
**/
publicJClob(Connectionconnection,StringtableName,StringprimaryKey,StringprimaryValue,StringfieldName,StringclobValue){
this.conn=connection;
this.tableName=tableName;
this.primaryKey=primaryKey;
this.primaryValue=primaryValue;
this.fieldName=fieldName;
this.clobValue=clobValue;
}

/**
*
*机关办法,但不用传clobValue值
*一样平常机关出的实例用来读Clob字段
*
**/
publicJClob(Connectionconnection,StringtableName,StringprimaryKey,StringprimaryValue,StringfieldName){
this.conn=connection;
this.tableName=tableName;
this.primaryKey=primaryKey;
this.primaryValue=primaryValue;
this.fieldName=fieldName;
}

/**
*
*用于测试
*
**/
publicstaticConnectiongetConnection()throwsSQLException,ClassNotFoundException{
Class.forName("oracle.jdbc.OracleDriver");
Connectionconn=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.18:1521:portal","portal","portal");
returnconn;
}

/**
*
*读数据库中clob字段的内容
*@returnclob字段值
*
**/
publicStringread()throwsSQLException,IOException{
Stringrtn=null;
try{
Stringsql="select"+fieldName+"from"+tableName+"where"+primaryKey+"="+primaryValue;
//Connectionconn=getConnection();
PreparedStatementpstmt=conn.prepareStatement(sql);
//intv=Integer.parseInt(primaryValue);
//pstmt.setInt(1,v);
ResultSetrs=pstmt.executeQuery();

java.sql.Clobclob=null;
if(rs.next()){
clob=rs.getCLOB(fieldName);
//clob=((OracleResultSet)rs).getCLOB(fieldName);
//clob=((org.apache.commons.dbcp.DelegatingResultSet)rs).getClob(fieldName);
//Readerin=clob.getCharacterStream();
InputStreaminput=clob.getAsciiStream();
intlen=(int)clob.length();
byte[]by=newbyte[len];
inti;//=input.read(by,0,len);
while(-1!=(i=input.read(by,0,by.length))){
input.read(by,0,i);
}
rtn=newString(by);
}
}
catch(SQLExceptione){
throwe;
}
catch(Exceptionee){
ee.printStackTrace();
}

returnrtn;
}

/**
*
*葱数据库中clob字段的内容
*
**/
publicvoidwrite()throwsSQLException,IOException{
Stringsql="update"+tableName+"set"+fieldName+"=empty_clob()where"+primaryKey+"="+primaryValue;
//Connectionconn=getConnection();
conn.setAutoCommit(false);

PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.executeUpdate();

sql="select"+fieldName+"from"+tableName+"where"+primaryKey+"="+primaryValue;
Statementst=conn.createStatement();
ResultSetrs=st.executeQuery(sql);

java.sql.Clobclob;
if(rs.next()){
clob=((oracle.jdbc.OracleResultSet)rs).getClob(fieldName);
//clob=((org.apache.commons.dbcp.DelegatingResultSet)rs).getClob(fieldName);
oracle.sql.CLOBmy_clob=(oracle.sql.CLOB)clob;
OutputStreamwriter=my_clob.getAsciiOutputStream();
byte[]contentStr=this.getContent().getBytes();
writer.write(contentStr);
writer.flush();
writer.close();
}

conn.commit();
rs.close();
st.close();
pstmt.close();
conn.setAutoCommit(true);
}

/**
*
*
**/
privateStringgetContent(){
returnthis.clobValue;
}

/**
*
*
**/
publicvoidsetClobValue(StringclobValue){
this.clobValue=clobValue;
}
}


最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的
不帅 该用户已被删除
沙发
发表于 2015-1-21 12:23:25 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
再现理想 该用户已被删除
板凳
发表于 2015-2-2 07:44:52 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
分手快乐 该用户已被删除
地板
发表于 2015-2-4 15:52:43 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
飘灵儿 该用户已被删除
5#
 楼主| 发表于 2015-2-6 01:01:22 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
老尸 该用户已被删除
6#
发表于 2015-3-4 09:39:06 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
小魔女 该用户已被删除
7#
发表于 2015-3-8 12:22:42 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
爱飞 该用户已被删除
8#
发表于 2015-3-15 22:52:41 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-22 17:12:35 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
admin 该用户已被删除
10#
发表于 2015-3-31 11:39:42 | 只看该作者
是一种突破用户端机器环境和CPU
兰色精灵 该用户已被删除
11#
发表于 2015-4-3 21:27:54 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
活着的死人 该用户已被删除
12#
发表于 2015-4-12 08:16:07 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
只想知道 该用户已被删除
13#
发表于 2015-4-15 11:54:26 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
柔情似水 该用户已被删除
14#
发表于 2015-4-16 00:55:23 | 只看该作者
是一种突破用户端机器环境和CPU
第二个灵魂 该用户已被删除
15#
发表于 2015-4-22 00:54:03 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
乐观 该用户已被删除
16#
发表于 2015-4-24 20:26:56 | 只看该作者
是一种使用者不需花费很多时间学习的语言
山那边是海 该用户已被删除
17#
发表于 2015-4-25 06:04:01 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
若相依 该用户已被删除
18#
发表于 2015-4-27 21:20:12 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
谁可相欹 该用户已被删除
19#
发表于 2015-4-30 12:50:15 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 23:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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