疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

J2EE技术(二)——JDBC


 

 一、JDBC基本思想

JDBC(Java DataBase Connectivity)——Java数据库连接,为Java应用程序访问数据库提供了一个统一的接口。通过JDBC可以完成建立到数据库的连接、执行SQL语句等操作。定义连接数据库的四种不同驱动类型的规范。

JDBC由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API, 使他们能够用纯Java API编写数据库应用程序。有了JDBC,向各种关系数据库发送SQL语言就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,,为访问Oracle数据库又专门写一个程序,只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL语句。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写 一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

JDBC的用途:

1、       与数据库建立连接;

2、       发送SQL语句;

3、       处理结果。

使用JDBC要引入组成JDBC的两个程序包:

1、       java.sql(核心API);

2、       java.sql(扩展的API);

二、JDBC结构

JDBC主要包括以下类:

1、       连接(Connection)

连接是客户端Java代码和数据库之间的通信连接,由JDBC驱动程序建立。创建一个连接后可以通过连接创建语句(Statement)对象、设置连接选项或是管理事务。

连接分为两种:

(1)直接连接(直接在客户端Java代码中打开并维护)

对应于下面提到的JDBC驱动程序的类型1、2、4种驱动程序。使用直接连接时必须在完成对数据库的操作后将连接关闭。否则,太多的连接会导致数据库连接瘫痪。

(2)池连接 (被J2EE服务器打开和维护)

池连接一般比直接连接更有优越性,因为它提高性能的同时节省了宝贵的资源(例如数据库连接)。

2、       语句(Statement)

语句用于对数据库发送数据操作的命令,通过语句对象,可以完成获取结果集,对数据库记录进行增删改等操作。语句分为以下三种类型。

(1)         简单语句(Statement),与java.sql.Statement接口想对应,用来执行简单SQL命令。

(2)         预编译语句(PreparedStatement),与java.sql.PreparedStatement接口对应,该类语句对象可以使用被预编译的SQL语句以提高执行效率。

(3)         可调用语句(CallableStatement),与java.sql.CallableStatement接口对应,主要用来调用数据库中定义的存储过程。

3、       结果集(Resultset)

结果集对应于java.sql.ResultSet接口。语句对象发出查询命令(select语句),所有符合条件的记录被取出后就存于结果集对象。结果集通过一套get/set方法(这些方法可以访问当前行中的不同列)提供了对这些行中数据的访问。

三、JDBC驱动程序

JDBC驱动程序有4种类型。选择何种类型的驱动程序主要取决于程序的应用范围。数据库驱动程序师用来解决应用程序与数据库通信问题的。

1、       类型1驱动程序

此种驱动程序也成为JDBC-ODBC桥驱动,它是把JDBC操作翻译成对应的ODBC调用。它的优点是可以访问ODBC能访问的所有数据库,缺点是执行效率比较低。

2、       类型2驱动程序

类型2驱动程序直接将应用程序与网络库连接,这样,必须在使用此驱动程序的计算机上安装网络库。类型2驱动程序的性能优于类型1驱动程序。

3、       类型3驱动程序

类型3驱动程序将应用程序与应用服务器(例如:Weblogic Server)连接,为了做到这点,应用服务器将应用程序的JDBC调用映射到适当的数据库驱动程序上。这些数据库驱动程序安装在应用程序服务器上,而不 是在客户机上。这种方法的好处是客户机上不需要安装网络库。WebLogic Server的池驱动程序就是一个类型那个3驱动程序。

4、       类型4驱动程序

把JDBC操作直接转换成不使用ODBC或本机API的本机协议。这种驱动程序是完全用Java实现的,不要要其他驱动程序和客户端网络库。此类驱动程序是数据库厂商提供的,能够提供对于本公司数据库系统的最优化的访问。

第三种和第四种类型的驱动程序是发展方向。

四、开发JDBC数据库应用程序的基本步骤:

1、建立连接;

2、执行SQL语句;

3、处理结果集;

4、关闭连接。

 

(转载)