编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

详解4种JDBC驱动程序

按照SUN公司的标准,在JDBC3.0中基于JDBC技术的驱动程序共分成4种,分别是:

  • JDBC-ODBC Bridge driver (Bridge)(JDBC-ODBC桥驱动程序)
  • Native-API/partly Java driver (Native)(本地API驱动程序)
  • All Java/Net-protocol driver(网络协议驱动程序)
  • All Java/Native-protocol driver (Pure)(本地协议驱动程序)

Type 1: JDBC-ODBC Bridge driver (Bridge)(JDBC-ODBC桥驱动程序)

该驱动的模式

应用程序→JDBC-ODBC Bridge→JDBC-ODBC Library→ODBC Driver→Database

这是最开始JDBC连接数据库的方式,实际是把所有JDBC的调用传递给ODBC,再由ODBC调用本地数据库驱动代码。使用ODBC需要配置系统数据源名称(DSN)表示目标数据库。

Type1的方式可以访问几乎所有的数据库,但Type1方式不是纯java实现,不具备可移植性,另外要求安装ODBC驱动。

Type 2: Native-API/partly Java driver (Native)(本地API驱动程序)

该驱动的模式

应用程序→JDBC Driver→Native Database Library→Database

Type2是通过数据库本身提供的API来访问。Oracle就提供这类型的驱动,最大的好处是功能强大,性能优与Type1;缺点是需要安装1个很大的数据库客户端开发包、非可移植性、数据库升级可能要修改客户端API,线程不安全等等。

Type 3: All Java/Net-protocol driver(网络协议驱动程序)

该驱动的模式

应用程序→JDBC Driver→Java中间件→Database

这是很少使用的一种java连接数据库方式,他需要在应用程序和数据库之间架设一个中间层,应用程序跟中间层打交道,无需关心后面是何种数据库。

这种驱动就是根据我们熟悉的3层结构建立的,JDBC先把对数据库的访问请求传递给网络上 的中间件服务器,中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用传递给数据库服务器。

这种驱动是基于server的,因此不需要客户端加载数据库厂商提供的代码库。并在执行效率和可升级方面都比较不错。

Type 4: All Java/Native-protocol driver (Pure)(本地协议驱动程序)

该驱动的模式

应用程序→JDBC Driver→Database Engine→Database

一般我们平时开发中所用的就是这种方式,唯一的缺点就是不同数据库需要提供不同的驱动jar包。这种驱动不需要把JDBC的调用传递给ODBC或本地数据库接口或中间层服务器,所以Type4的执行效率是最高的。

目前DataDirect还提出了Type5的驱动方式,说是Type4的优化,是一个纯商业产品,提供流行的几种数据库驱动包

未经允许不得转载: 技术文章 » Java编程 » 详解4种JDBC驱动程序