基于java实现访问oracle数据库的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于java实现访问oracle数据库的方法
【摘要】随着Java Web的迅速发展,数据库连接已成为应用程序开发中的主要问题之一,连接数据库的效率也成为直接影响应用程序执行效率的因素。本文以Oracle数据库系统为例,详细介绍了在Java程序中访问数据库的传统数据库的连接方法和数据库连接池技术,并对此进行了分析和比较。
【关键词】Java;数据库;JDBC;连接池
1.引言
随着Java Web技术和计算机网络的迅速发展,人们对网络资源的共享提出了更高的要求。在网络环境中,对于数据的访问往往都是非常频繁的。在Java Web 的应用程序开发中使用Java访问数据库,是整个应用程序开发过程中的主要问题之一。下面就将以Oracle数据库系统为例,阐述在Java程序中访问数据库的传统的数据库连接方法和数据库连接池技术。
2.传统的数据库连接方法
2.1 JDBC简介
JDBC是用java连接数据库最为传统的方法,下面详细阐述在java程序中它具体是怎么实现的。
2.1.1 JDBC概念
JDBC的全称是Java Database Connectivity,即Java数据库连接。JDBC是标准的Java访问数据库的API。JDBC定义了数据库的连接、SQL语句的执行以及查询结果集的遍历等。它由一组用Java编程语言编写的类和接口组成,位于包java.sql下面,如java.sql.Connection,java.sql.Statement,java.sql.ResultSet等。JDBC提供给Java程序使用的,它将各种数据库的差异对Java程序屏蔽了起来,Java程序可以使用同样的可移植的接口访问数据库,使Java的应用程序屏蔽了数据库领域,同时保持了Java语言的“一次编写,各处运行”的优点。
2.1.2 JDBC的结构
JDBC主要有两类接口:面向程序开发人员的JDBC API和面向JDBC驱动程序的JDBC DRIVER API。前者是开发人员用来编写前端应用程序的,后者是由数据库厂商开发的。
(1)JDBC API由两个部分组成,一个是核心的API,其类包路径为javax.sql,这是J2EE的一部分,它具有可滚动的结果集、批量更新的实现类。另一个是扩展的API,其类包的路径为javax.sql,这是J2EE的一部分,它具有访问JNDI
资源、分布式事务等实现类。四个重要的JDBC API接口:
Java.sql.DriverManager:用于加载驱动程序和建立新的数据库链接。
Java.sql.Connection:完成对某一指定数据库的链接。
Java.sql.Statement:管理在指定数据库连接上的SQL语句的执行。
Java.sql.ResultSet:用来从数据库返回的结果集。
(2)JDBC Driver API是面向驱动程序开发商的编程接口。
JDBC驱动程序根据其实现方式分为4种类型:
JDBC-ODBC bridgedriver(JDBC-ODBC桥接方式);
Native-API Partly-Java driver(本地API方式);
Net-ProtocolAll-Java driver(网络协议方式);
Native-Protocol All-Java driver(本地协议方式)。
这四种方式用于不同的场合,它们的运行效果也不相同。选择合适和正确的JDBC驱动程序,是提高数据库访问效率时应该考虑的一个重要因素。
2.1.3 JDBC的功能
(1)JDBC的基本功能如下:连接数据库;向数据库执行查询操作;向数据库执行更新操作;向数据库执行插入操作;向数据库执行删除操作;执行存储过程。
(2)JDBC支持数据库访问的两层和三层模型。两层模型是Java应用程序或Apple直接与数据库进行交互操作的模型;三层模型是在应用与数据库之间,有一个中间应用服务器。
2.2 JDBC的实现
通过JDBC可以用Java访问远程oracle数据库和本地oracle数据库,方法是一样的。但在加载驱动包是应该注意要根据所使用的相应的JDK环境来加载相应的包。需要注意的是
classes12.jar:for Java 1.2 and 1.3
ojdbc14.jar:for Java 1.4 and 1.5
ojdbc5.jar:for Java 1.5
ojdbc6.jar:for Java 1.6
本文用的是Java 1.6,所以加载的是ojdbc6.jar这个包。
具体实现的部分代码如下:
这里的url的格式应该为:
String url= “jdbc:oracle:thin:@”+ip+”:”+port+”:”+dbName;
其中ip为要访问的数据库的IP地址,port为要访问的数据库的端口号,dbName为要访问的数据库名。
3.数据库连接池的连接技术
3.1 数据库连接池简介
数据库连接池(Connection pool),它是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请、使用、释放。
数据库连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非要建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非要将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。