仓酷云

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

[学习教程] JAVA编程:JAVA:数据库操纵封装

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

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

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

x
关于第二点:俺问问你,如果是企业级项目的话,诸如RMI,EJB,等一些关键技术,这些难道都不需要学么?如果光是使用jsp,servlet,javabean的话。封装|数据|数据库packagecreator.common.db;

importjava.io.InputStream;
importjava.sql.*;
importjavax.sql.*;
importjavax.naming.*;

/**
*
*<p>Title:dbBean.java</p>
*<p>Description:</p>
*<p>Copyright:Copyright(c)2004</p>
*<p>Company:</p>
*@authorTanBo
*@version1.0
*/
publicclassDbBean{
publicjava.sql.Connectionconn=null;//connectionobject
publicResultSetrs=null;//resultsetobject
publicStatementstmt=null;//statementobject
publicPreparedStatementprepstmt=null;//preparedstatementobject
privateStringdrivers=null;//connectionparameter:drivers
privateStringurl=null;//connectionparameter:url
privateStringuser=null;//connectionparameter:user
privateStringpassword=null;//connectionparameter:password
privateStringjndi_name=null;//connectionpoolparameter:jndiname

/**
*init()
*/
publicDbBean(){
try{
//parameterinit
drivers=creator.config.ConfigBundle.getString("drivers");
url=creator.config.ConfigBundle.getString("url");
user=creator.config.ConfigBundle.getString("user");
password=creator.config.ConfigBundle.getString("password");
jndi_name=creator.config.ConfigBundle.getString("jndi_name");

//dbconnectionpoolinit
//InitialContextenv=newInitialContext();
//javax.sql.DataSourcepool=(javax.sql.DataSource)env.lookup(jndi_name);
//conn=pool.getConnection();

//dbconnectioninit
Class.forName(drivers);
conn=DriverManager.getConnection(url,user,password);

//dbstatementinit
stmt=conn.createStatement();
}catch(Exceptione){
System.out.println("dbBean:initerror!"+e.toString());
}
}

/**
*@functionprepareStatement
*@paramsqlString
*@throwsSQLException
*/
publicvoidprepareStatement(Stringsql)throwsSQLException{
prepstmt=conn.prepareStatement(sql);
}

/**
*@functionprepareStatement
*@paramsqlString
*@paramresultSetTypeint
*@paramresultSetConcurrencyint
*@throwsSQLException
*/
publicvoidprepareStatement(Stringsql,intresultSetType,intresultSetConcurrency)
throwsSQLException{
prepstmt=conn.prepareStatement(sql,resultSetType,resultSetConcurrency);
}

/**
*@functionexecuteQuery
*@paramsqlString
*@throwsSQLException
*@returnResultSet
*/
publicResultSetexecuteQuery(Stringsql)throwsSQLException{
if(stmt!=null){
returnstmt.executeQuery(sql);
}elsereturnnull;
}

/**
*@functionexecuteQuery
*@throwsSQLException
*@returnResultSet
*/
publicResultSetexecuteQuery()throwsSQLException{
if(prepstmt!=null){
returnprepstmt.executeQuery();
}elsereturnnull;
}

/**
*@functionexecuteUpdate
*@paramsqlString
*@throwsSQLException
*/
publicvoidexecuteUpdate(Stringsql)throwsSQLException{
if(stmt!=null)
stmt.executeUpdate(sql);
}

/**
*@functionexecuteUpdate
*@throwsSQLException
*/
publicvoidexecuteUpdate()throwsSQLException{
if(prepstmt!=null)
prepstmt.executeUpdate();
}

/**
*@functionexecuteUpdate
*@throwsSQLException
*/
publicvoidexecuteBatch()throwsSQLException{
if(prepstmt!=null)
prepstmt.executeBatch();
}

/**
*@functionaddBatch
*@paramvalueString
*@throwsSQLException
*/
publicvoidaddBatch(Stringvalue)throwsSQLException{
prepstmt.addBatch(value);
}

/**
*@functionsetString
*@paramindexint
*@paramvalueString
*@throwsSQLException
*/
publicvoidsetString(intindex,Stringvalue)throwsSQLException{
prepstmt.setString(index,value);
}

/**
*@functionsetInt
*@paramindexint
*@paramvalueint
*@throwsSQLException
*/
publicvoidsetInt(intindex,intvalue)throwsSQLException{
prepstmt.setInt(index,value);
}

/**
*@functionsetBoolean
*@paramindexint
*@paramvalueboolean
*@throwsSQLException
*/
publicvoidsetBoolean(intindex,booleanvalue)throwsSQLException{
prepstmt.setBoolean(index,value);
}

/**
*@functionsetDate
*@paramindexint
*@paramvalueDate
*@throwsSQLException
*/
publicvoidsetDate(intindex,Datevalue)throwsSQLException{
prepstmt.setDate(index,value);
}

/**
*@functionsetLong
*@paramindexint
*@paramvaluelong
*@throwsSQLException
*/
publicvoidsetLong(intindex,longvalue)throwsSQLException{
prepstmt.setLong(index,value);
}

/**
*@functionsetFloat
*@paramindexint
*@paramvaluefloat
*@throwsSQLException
*/
publicvoidsetFloat(intindex,floatvalue)throwsSQLException{
prepstmt.setFloat(index,value);
}

/**
*@functionsetBytes
*@paramindexint
*@paramvaluebyte[]
*@throwsSQLException
*/
publicvoidsetBytes(intindex,byte[]value)throwsSQLException{
prepstmt.setBytes(index,value);
}

/**
*@functionsetBinaryStream
*@paramindexint
*@paramvalueInputStream
*@paramlenint
*@throwsSQLException
*/
publicvoidsetBinaryStream(intindex,InputStreamvalue,intlen)throwsSQLException{
prepstmt.setBinaryStream(index,value,len);
}

/**
*@functionsetTimestamp
*@paramindexint
*@paramtimestampTimestamp
*@throwsSQLException
*/
publicvoidsetTimestamp(intindex,Timestamptimestamp)throwsSQLException{
prepstmt.setTimestamp(index,timestamp);
}

/**
*@functionsetAutoCommit
*@paramvalueboolean
*@throwsSQLException
*/
publicvoidsetAutoCommit(booleanvalue)throwsSQLException{
if(this.conn!=null)
this.conn.setAutoCommit(value);
}

/**
*@functioncommit
*@throwsSQLException
*/
publicvoidcommit()throwsSQLException{
this.conn.commit();
}

/**
*@functionrollback
*@throwsSQLException
*/
publicvoidrollback()throwsSQLException{
this.conn.rollback();
}

/**
*@functionclose
*@throwsException
*/
publicvoidclose(){
try{
if(rs!=null){
rs.close();
rs=null;
}
}catch(Exceptione){
System.out.println("dbBeancloserserror!");
}finally{
try{
if(stmt!=null){
stmt.close();
stmt=null;
}
}catch(Exceptione){
System.out.println("dbBeanclosestmterror!");
}finally{
try{
if(prepstmt!=null){
prepstmt.close();
prepstmt=null;
}
}catch(Exceptione){
System.out.println("dbBeancloseprepstmterror!");
}finally{
try{
if(conn!=null){
conn.close();
conn=null;
}
}catch(Exceptione){
System.out.println("dbBeancloseconnerror!");
}
}
}
}
}

}




微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......
老尸 该用户已被删除
沙发
发表于 2015-1-21 11:50:02 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-25 09:38:55 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
深爱那片海 该用户已被删除
地板
发表于 2015-1-30 21:55:19 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
冷月葬花魂 该用户已被删除
5#
发表于 2015-1-31 14:32:17 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
柔情似水 该用户已被删除
6#
发表于 2015-2-6 19:42:48 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
只想知道 该用户已被删除
7#
发表于 2015-2-8 07:01:24 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
8#
发表于 2015-2-10 05:44:38 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
若天明 该用户已被删除
9#
发表于 2015-2-11 02:39:24 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
飘飘悠悠 该用户已被删除
10#
发表于 2015-2-13 18:47:52 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
若相依 该用户已被删除
11#
 楼主| 发表于 2015-3-4 00:28:54 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
不帅 该用户已被删除
12#
发表于 2015-3-11 14:10:46 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
简单生活 该用户已被删除
13#
发表于 2015-3-18 17:51:28 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
分手快乐 该用户已被删除
14#
发表于 2015-3-22 22:09:41 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
蒙在股里 该用户已被删除
15#
发表于 2015-3-23 17:34:25 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
谁可相欹 该用户已被删除
16#
发表于 2015-3-23 18:20:57 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
小魔女 该用户已被删除
17#
发表于 2015-4-12 16:49:04 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
admin 该用户已被删除
18#
发表于 2015-4-23 15:13:17 | 只看该作者
是一种为 Internet发展的计算机语言
金色的骷髅 该用户已被删除
19#
发表于 2015-4-25 13:56:56 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
飘灵儿 该用户已被删除
20#
发表于 2015-4-30 15:11:01 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 07:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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