JDBC概述 (一)

 

一.概述
  JDBC API是一类Java API,用于访问几乎任何类型的表格式数据(JDBC是一个商标名,但很多人都误解为"Java DataBase Connectivity"的缩写)JDBC API由一组Java编程语言编写的类和接口组成,这些类和接口为数据库开发人员提供标准API,从而使得完全使用Java语言来编写具有业界标准的数据库程序成为可能.

二.JDBC API的功能
  基于JDBC技术的驱动程序("JDBC驱动程序")可以完成三件事情:
  (1)与数据源建立连接;
  (2)将查询语句和更新语句发送到数据源;
  (3)处理结果集.
  下面的代码段给出了关于三个步聚的简单例子:

// 建立连接
Connection con = DriverManager.getConnection( " jdbc:derby:MyDataBase " , " userName " , " password " );
// 创建语句
Statement stmt = con.createStatement();
// 发送SQL语句到数据源,并返回结果集
ResultSet rs = stmt.executQuery( " SELECT a,b,c FROM TABEL " );
// 处理结果
while (rs.next()) {
  
int x=rs.getInt("a");
  String s
=rs.getString("b");
  
float f=rs.getFloat("c");
}

  正如上面的代码,JDBC API被用来直接调用SQL命令.

  另外,因为JDBC API比较全面,且足够强大,因而可以作为其他API的基础,有许多可供替换的API是在JDBC API之上开发的,例如以下API:
  (1)Java嵌入式SQL
  包括Oracle,IBM,Sun和其他公司在内的联盟已经定义了SQLJ规范,为Java编程提供嵌入式SQL.
  (2)持久Java对象技术
  有两种Java技术使Java对象能够映射到关系数据库:
  1.  Java Data Objects(JDO)
  2.  Enterprise Java Beans---容器管理的持久性(Container Managed Persistence,CMP)和bean管理的持久性(Bean Managed Persistence,BMP)
  通过使用这些技术位于数据库存储器(data store)中的数据可以映射成Java对象,而Java对象可以持久地存储在数据存储器中.

三.JDBC与ODBC的比较
  在开发JDBC API之前,Microsoft的ODBC(Open DataBase Connectivty) API是用得最广泛的关系数据库访问编程接口.
  那为什么不在Java编程语言中直接使用ODBC呢?
  答案是可以在Java编程语言中使用ODBC,但不是直接的,而是通过使用JDBC-ODBC桥(Bridge)并在JDBC API的帮助下,才能达到最佳实现.
  (1)ODBC不适合于在Java编程语言中直接使用,因为ODBC使用C接口,在应用程序的安全,实现,健壮性和可移植性方面,从Java中调用本地的C代码会有许多弊端.
  (2)将ODBC C API直接转换成Java API并不是理想的方法,例如,Java无指针,而ODBC广泛使用指针.
  (3)需要使用像JDBC这样的Java API,以便支持"纯Java"解决方案(即只使用Java API的解决方案)当使用ODBC时,ODBC驱动程序管理器和驱动程序必须手动安装在每一台客户机上,然而,当完全使用Java编写JDBC驱动程序时,JDBC代码在所有Java平台上都是可自动安装的,同时是可移植和安全的.

四.两层模型与三层模型
  JDBC API支持两层数据库访问模型,又支持三层数据库访问模型.
  两层模型:


  在两层模型中,Java applet或Java应用程序直接与数据源通信.

  三层模型:


  在三层模型中,命令被发送到服务的中间层,中间层再将命令发送给数据源,数据源处理这些命令并将结果返回给中间层,接着将结果发送给用户.JDBC API在三层体系结构中间层的使用越来越广泛.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值