ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:32.19KB ,
资源ID:10919996      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10919996.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(利用JavaJDBC进行数据库访问吴家骥.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

利用JavaJDBC进行数据库访问吴家骥.docx

1、利用JavaJDBC进行数据库访问吴家骥利用Java JDBC进行数据库访问吴家骥李德河(中国科学院陕西天文台,陕西省临潼,710600)BC访问数据库,只须下载返回的数据,大大提高了速度。2JDBC扩展了Java的功能,例如,用Java和JDBC API可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Linux、Macintosh和UNIX等各种不同的操作系统)。4JDBC与ODBC的区别3Microsoft的ODBC(开放式数据库连接)API

2、是使用最广的、用于访问关系数据库的编程接口,几乎在所有平台上它都能连接所有的数据库。但ODBC不适合直接在Java中使用,因为它使用C语言接口,从Java调用本地C代码,在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。Java没有指针,而ODBC却对指针用得很广泛(包括很容易出错的指针“void”)。另外,必须手动地将ODBC驱动程序安装在每台客户机上,运用ThinJDBC技术,客户机只须一个Web浏览器。所以,JDBC更适合在Internet上运用。事实上,JDBC保留了ODBC的基本设计特征,两种接口都基于X/Open SQL CLI(调用级接口)。5JDBC原理JDBC主要有2

3、种接口,分别是面向程序开发人员的JDBC API和面向驱动程序开发商的JDBC Driver API。它们的功能如图1所示。图1JDBC结构示意图目前JDBC驱动程序可分为以下4个种类:(1)JDBC-ODBC桥加ODBC驱动程序:利用ODBC驱动程序提供JDBC访问。应注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装156陕西天文台台刊23卷 输入JDBC类import java.sql.;import java.awt.;import java.io.;import java

4、.util.;public class Applet2 extends java.applet.Applet指定要加载的驱动static final String driver-class=“oracle.odbc.driver.OracleDriver”;指定连接字符串static final String connect-string=“jdbc:oracle:thin:username/passwordhostname:1521:v8i815”;static final String query=“selectfrom my-testDB”;定义一个对数据库的查询Button execu

5、te-button;定义一个按钮TextArea output;定义一个文本域,用来显示查询结果Connection conn;定义一个数据库连接创建用户界面public void init()this.setLayout(new BorderLayout();Panel p=new Panel();p.setLayout(new FlowLayout(FlowLayout,LEFT);execute-button=new Button(“connect JDBC”);实例化按钮p.add(“North”,p);output=new TextAre(10,60);实例化文本域this.add(

6、“Center”,output);当按钮被单击所相应的事件public boolean action(Eventev,Object arg)if(ev.targer= =execute-button)158陕西天文台台刊23卷三层结构的应用程序服务器代码。(2)本地API-部分用Java来编写的驱动程序:这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。需注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。(3)JDBC网络纯Java驱动程序:这种驱动程序将JDBC转换为与DBMS无关的

7、网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于In-tranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。(4)本地协议纯Java驱动程序:这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的

8、,因此数据库提供者自己将是主要来源,有几家提供者已在进行这一工作。预计第(3)、(4)类驱动程序将成为从JDBC访问数据库的首选方法,第(1)、(2)类驱动程序在直接的纯Java驱动程序还没有上市前将会作为过渡方案来使用。第(3)、(4)类驱动程序提供了Java的所有优点,包括自动安装(例如,通过使用JDBC驱动程序的applet来下载该驱动程序)。JDBC API预览:java.sql.DriverManager:提供调入驱动程序的方法,并支持java.sql.Driver接口中的类创建数据库的连接,即负责处理JDBC数据库驱动程序的加载和卸载。java.sql.Connection:完成对

9、一个指定数据库的连接。java.sql.Statement:同一个连接,一起将SQL语句发送到数据库中。java.sql.PreparedStatement:同一个连接,但是以预编译的形式发送SQL语句。java.sql.CallableStatement:同一个连接,但是以调用数据库存储函数的形式发送。java.sql.ResultSet:返回包含符合SQL语句中条件的所有行,并且它通过一套get方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。6应用举例此例为Java applet,数据库为oracle8i,操作系统为Linux,Web服务器为Apache,客户端仅

10、需一个Web浏览器(若浏览器不支持Java,须安装Javaplug-in)。开发工具为JDK1.2.2。 以下代码可以用作模板。仅需替换相应的url、登录和口令,然后替换您要发送到数据库中的SQL语句。 模块:JdbcApplet.java描述:JDBC的测试程序。此javaapplet将与oracle的JDBC驱动程序连接,发出select语句,157第23卷第2期吴家骥等:利用Java JDBC进行数据库访问摘要Java现已成为开发Internet应用最热门的语言,而JDBC则是Java程序访问数据库最重要的技术。这里要介绍的是在WWW环境下,运用Java JDBC连接数据库的技术,及JD

11、BC的原理和例子。关键词JavaJDBC数据库分类号TP3121引言由于传统的客户/服务器数据库模式缺乏扩展性和跨平台性,并且客户端维护成本高。所以,随着网络的发展,基于Java的JDBC技术的Web数据库就弥补了这方面的不足,真正做到了“一次编写,任何地方运行”1。2什么是JDBCJDBCTM是一种用于执行SQL语句的JavaTMAPI(与ODBC不同的是JDBC本身是个商标名,而不是Java Database Connectivity的缩写词)。JDBC是由JavaSoft定义的Java与数据库连接的接口。JDBC允许任何使用Java语言编写的小应用程序(applet)或应用程序(ap-p

12、lication)访问远程数据库、获取数据,并对数据库进行更新存储。而且,使用Java编程语言编写程序,无须担忧要为不同的平台编写不同的应用程序。将Java和JDBC结合起来,程序员将只需写一遍程序就可让它在任何平台上运行。3JDBC能作些什么Java和JDBC的结合,使信息传播变得容易和经济,即使这些信息是储存在不同数据库管理系统上,企业可继续使用它们安装好的数据库,并能便捷地存取信息。新程序的开发期很短,安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户提供

13、获取信息更新的更好方法。特别是在交互频繁的网页中,如果用通常的CGI方式访问数据库,用户每次提交表单后,浏览器都需要刷新、下载页面。2000-06-20收到原稿,2000-12-18收到修改稿文本域判断是否打开一个数据库连接if(conn= =null)加载JDBC驱动程序output.appendText(“Loading JDBC driver”+driver-class+“ n”);Class.forName(driver-class);连接到指定数据库output.appendText(“Connecting to”+connect-string+“ n”);conn=DriverMa

14、nager.getConnection(connect-string);output.appendText(“Connected n”);如果不能连接,则抛出异常。因此,如果进入这一步,则已成功连接到数据库。创建一个Statement对象,使我们可以向驱动程序提交SQL语句Statement stmt=conn.createStatement();提交查询,创建ResultSet对象output.appendText(“Executing query”+query+“ n”);ResultSet rset=stmt.executeQuery(query);显示数据并获取它,直到结果集末尾whi

15、le(rset.next()output.appendText(rset.getString(1)+“ n”);在文本域中显示查询结果output.appendText(“don. n”);catch(Exception e)output.appendText(e.getMessage()+” n”);显示异常return true;elsereturn false;159第23卷第2期吴家骥等:利用Java JDBC进行数据库访问本例中的客户端无须安装oracle客户端协议,Java程序放在服务器端,使升级和维护非常方便。当嵌有Java applet的网页被打开时,(1)Java小程序会通过

16、JDBC直接连接服务器端数据库。首先要加载JDBC数据库驱动程序,然后建立连接。本例中使用Class.forName方法显示加载驱动程序,通过调用DriverManager.getConnection得到一个java.sql.Connection对象,参数connect-string指定了要访问的数据库。(2)执行查询语句。创建Statement对象,使用executeQuery方法执行SQL语句。(3)检索结果集。ResultSet对象包括一个查询语句返回的表,这个表包括所有的查询结果。对这个表进行处理,最后的显示结果给用户。7结束语目前开发电子商务最热门的Java Server Page(

17、JSP)技术,便是通过JDBC来实现对后台数据库的访问。由于Java具有其他语言所不具备的易用性、跨平台性和安全性,必将成为最受欢迎的编程语言。参考文献1http:2齐永强等.JDBC连接数据库.重庆邮电学院学报,1999,(1):63663JDK1.2help,Database Access with Java JDBCWU Jia-JiLI De-He(Shaanxi Astronomical Observatory,The Chinese Academy of Sciences,Lintong,Shaanxi,710600)AbstractJava has become the most

18、 popular program language for Internet application and JDBC isthe most important method for Java program to access database.The technique of database ac-cess with Java JDBC,and the principle and example for JDBC in WWW enviroment are intro-duced in this paper.BC访问数据库,只须下载返回的数据,大大提高了速度。2JDBC扩展了Java的功

19、能,例如,用Java和JDBC API可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Linux、Macintosh和UNIX等各种不同的操作系统)。4JDBC与ODBC的区别3Microsoft的ODBC(开放式数据库连接)API是使用最广的、用于访问关系数据库的编程接口,几乎在所有平台上它都能连接所有的数据库。但ODBC不适合直接在Java中使用,因为它使用C语言接口,从Java调用本地C代码,在安全性、实现、坚固性和程序的自动移植性方面都有

20、许多缺点。Java没有指针,而ODBC却对指针用得很广泛(包括很容易出错的指针“void”)。另外,必须手动地将ODBC驱动程序安装在每台客户机上,运用ThinJDBC技术,客户机只须一个Web浏览器。所以,JDBC更适合在Internet上运用。事实上,JDBC保留了ODBC的基本设计特征,两种接口都基于X/Open SQL CLI(调用级接口)。5JDBC原理JDBC主要有2种接口,分别是面向程序开发人员的JDBC API和面向驱动程序开发商的JDBC Driver API。它们的功能如图1所示。图1JDBC结构示意图目前JDBC驱动程序可分为以下4个种类:(1)JDBC-ODBC桥加OD

21、BC驱动程序:利用ODBC驱动程序提供JDBC访问。应注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装156陕西天文台台刊23卷 输入JDBC类import java.sql.;import java.awt.;import java.io.;import java.util.;public class Applet2 extends java.applet.Applet指定要加载的驱动static final String driver-class=“oracle.odbc.d

22、river.OracleDriver”;指定连接字符串static final String connect-string=“jdbc:oracle:thin:username/passwordhostname:1521:v8i815”;static final String query=“selectfrom my-testDB”;定义一个对数据库的查询Button execute-button;定义一个按钮TextArea output;定义一个文本域,用来显示查询结果Connection conn;定义一个数据库连接创建用户界面public void init()this.setLayo

23、ut(new BorderLayout();Panel p=new Panel();p.setLayout(new FlowLayout(FlowLayout,LEFT);execute-button=new Button(“connect JDBC”);实例化按钮p.add(“North”,p);output=new TextAre(10,60);实例化文本域this.add(“Center”,output);当按钮被单击所相应的事件public boolean action(Eventev,Object arg)if(ev.targer= =execute-button)158陕西天文台台

24、刊23卷三层结构的应用程序服务器代码。(2)本地API-部分用Java来编写的驱动程序:这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。需注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。(3)JDBC网络纯Java驱动程序:这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方

25、案的提供者都提供适合于In-tranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。(4)本地协议纯Java驱动程序:这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在进行这一工作。预计第(3)、(4)类驱动程序将成为从JDBC访问数据库的首选方法,第(1)、(2)类驱动程序在直接的纯Java驱动程序还没有上市前将会作为过渡方案来使

26、用。第(3)、(4)类驱动程序提供了Java的所有优点,包括自动安装(例如,通过使用JDBC驱动程序的applet来下载该驱动程序)。JDBC API预览:java.sql.DriverManager:提供调入驱动程序的方法,并支持java.sql.Driver接口中的类创建数据库的连接,即负责处理JDBC数据库驱动程序的加载和卸载。java.sql.Connection:完成对一个指定数据库的连接。java.sql.Statement:同一个连接,一起将SQL语句发送到数据库中。java.sql.PreparedStatement:同一个连接,但是以预编译的形式发送SQL语句。java.sq

27、l.CallableStatement:同一个连接,但是以调用数据库存储函数的形式发送。java.sql.ResultSet:返回包含符合SQL语句中条件的所有行,并且它通过一套get方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。6应用举例此例为Java applet,数据库为oracle8i,操作系统为Linux,Web服务器为Apache,客户端仅需一个Web浏览器(若浏览器不支持Java,须安装Javaplug-in)。开发工具为JDK1.2.2。 以下代码可以用作模板。仅需替换相应的url、登录和口令,然后替换您要发送到数据库中的SQL语句。 模块:Jdbc

28、Applet.java描述:JDBC的测试程序。此javaapplet将与oracle的JDBC驱动程序连接,发出select语句,157第23卷第2期吴家骥等:利用Java JDBC进行数据库访问摘要Java现已成为开发Internet应用最热门的语言,而JDBC则是Java程序访问数据库最重要的技术。这里要介绍的是在WWW环境下,运用Java JDBC连接数据库的技术,及JDBC的原理和例子。关键词JavaJDBC数据库分类号TP3121引言由于传统的客户/服务器数据库模式缺乏扩展性和跨平台性,并且客户端维护成本高。所以,随着网络的发展,基于Java的JDBC技术的Web数据库就弥补了这方

29、面的不足,真正做到了“一次编写,任何地方运行”1。2什么是JDBCJDBCTM是一种用于执行SQL语句的JavaTMAPI(与ODBC不同的是JDBC本身是个商标名,而不是Java Database Connectivity的缩写词)。JDBC是由JavaSoft定义的Java与数据库连接的接口。JDBC允许任何使用Java语言编写的小应用程序(applet)或应用程序(ap-plication)访问远程数据库、获取数据,并对数据库进行更新存储。而且,使用Java编程语言编写程序,无须担忧要为不同的平台编写不同的应用程序。将Java和JDBC结合起来,程序员将只需写一遍程序就可让它在任何平台上运行。3JDBC能作些什么Java和JDBC的结合,使信息传播变得容易和经济,即使这些信息是储存在不同数据库管理系统上,企业可继续使用它们安装好的数据库,并能便捷地存取信息。新程序的开发期很短,安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。特别是在交互频繁的网页中,如果用通常的CGI方式访问数据库,用户每次提交表单后,浏览器都需要刷新、下载页面。2000-06-20收到原稿,2000-12-18收到修改稿文本域判断是否打开一

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1