1、JDBC驱动程序是什么?

-  JDBC驱动程序在JDBC API中实现定义的接口,用于与数据库服务器进行交互。

-  例如,使用JDBC驱动程序,可以通过发送SQL或者数据库命令,然后使用Java接收结果来打开数据库连接并与数据库进行交互。

-  JDB附带的Java.sql包含各种类,其类的行为被定义,实现在第三方驱动程序中完成。第三方供应商在其数据库驱动程序中实现java.sql.Driver接口。

2、JDBC驱动程序类型

-  JDBC驱动程序实现因Java运行的各种操作系统和硬件平台而异。Sun将实现类型分为四种类型,分别为1,2,3和4类型,如下所述:

a、类型1:JDBC-ODBC桥驱动程序

-  在类型1驱动程序中,JDBC桥接器用于访问安装在每台客户机中的ODBC驱动程序。使用ODBC需要在系统上配置表示目标数据库的数据源名称(DSN)。

(ODBC与JDBC比较请参考http://blog.csdn.net/u010191243/article/details/46685951博客)

-  当Java第一次出现时,这是一个驱动程序,因为大多数数据库仅支持ODBC访问,现在这种类型的驱动程序仅仅推荐用于实验性使用或者没有其他替代方案时使用。(“vendor”中文为供应商)

-  JDK1.2附带的JDBC-ODBC桥接是这种驱动程序的一个很好的例子。

b、类型2:JDBC本地API

-  在类型2驱动程序中,JDBC API调用将转换成本地C/C++ API调用,这是数据库中唯一的。这些驱动程序通常由数据库供应商提供,并以与JDBC-ODBC桥接相同的方式使用。必须在每个客户机上安装供应商特定的驱动程序。

-  如果要更改数据库,则必须更改原生API,因为它特定于数据库,并且现在大部分已经过时,但是使用类型2驱动程序实现一些扩展功能的开发,它消除了ODBC的开销。

-  Oracle调用接口(OCI)驱动程序是类型2驱动程序的示例。

c、类型3:JDBC-Net纯Java

-  在类型3驱动程序中,使用三层方法访问数据库。JDBC客户端使用标准网络套接字与中间件应用程序服务器进行通信。套接字信息随后由中间件应用服务器转换成DBMS所需的调用格式,并转发到数据库服务器中。

-  这种驱动程序是非常灵活的,因为它不需要在客户端中安装代码,一个驱动程序实际上可以提供多个数据库的访问。

-  可以将应用程序服务器视为JDBC代理,它会调用客户端应用程序。因此,我们需要了解应用程序服务器的配置,才能有效地使用此驱动程序类型。

-  应用程序服务器可能会使用类型1,2或4驱动程序与数据库通信,了解细微差别对理解JDBC是有帮助的。

d、类型4:100%纯Java

-  在类型4的驱动程序中,基于Java的驱动程序通过套接字连接与供应商的数据库直接通信。这是数据库可用最高的性能驱动程序,通常由供应商自己提供。

-  这种驱动是非常灵活的,不需要在客户端或者服务器上安装特殊的软件。此外,这些驱动程序可以动态下载。

-  MySQL Connector/J 驱动程序是类型4驱动程序。由于其网络协议的专有性质,数据库供应商通常提供类型4驱动程序。

3、应该使用哪个驱动程序?

-  如果正在访问一种类型的数据库,例如Oracle/Sybase或者IBM DB1,则首选驱动程序类型为类型4。

-  如果Java应用程序同时访问多种类型的数据库,则类型3是首选驱动程序。

-  类型2驱动程序在数据库不可用类型3或者类型4驱动程序的情况下使用。

-  类型1驱动程序不被是被部署级驱动程序,通常仅仅用于开发和测试目的。

转载于:https://blog.51cto.com/12402717/1979668

JDBC编程专题4之JDBC驱动程序类型相关推荐

  1. JDBC编程专题9之JDBC事务

    -  如果JDBC连接处于自动提交模式,默认情况下,则每个SQL语句在完成后都会提交到数据库中. -  对于简单的应用程序可能没有什么问题,但是有三个原因需要考虑是否关闭自动提交并管理自己的事务: - ...

  2. JDBC编程:1(使用JDBC连接数据库)

    使用JDBC连接数据库 下载连接MySQL数据库的驱动 这个jar包可以在官网上对照着你的MySQL版本来下载,这里我下载的是最新的8.0.20版本, 这里是8.0.20版本的驱动包:mysql-co ...

  3. jdbc驱动程序类型_JDBC驱动程序类型

    jdbc驱动程序类型 A JDBC Driver is a software component, which allows a Java application to interact with a ...

  4. JDBC(二)驱动程序类型发展历程

    有4种不同类型的JDBC驱动程序: 类型1:JDBC-ODBC桥驱动程序 类型2:Java +程序代码驱动程序 类型3:Java + Middleware转化驱动程序 类型4:Java驱动程序. 大多 ...

  5. Java之十五 JDBC编程

    视频课堂:https://edu.csdn.net/course/play/8222 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事.换言之,有了JDBCAPI,就不必为访问Sybase ...

  6. Java - 数据库JDBC编程

    本节目标 数据库驱动 JDBC的概念及作用 掌握JDBC的工作原理 掌握JDBC中几个常用接口和类 掌握基于数据库的应用程序开发流程 1.数据库编程的必备条件 编程语言,如Java,C.C++.Pyt ...

  7. JDBC编程步骤概述

    JDBC编程六步: 第一步:注册驱动(作用:告诉Java程序,即将要连接的是哪个品牌的数据库, 至于驱动是什么,通俗讲就是各类数据库厂家(mysql.Oracle等)编写的JDBC接口的实现类) 第二 ...

  8. 【Java】14 JDBC编程学习总结

    文章目录 一.JDBC是什么? 二.为什么要使用JDBC? 三.DDL.DML.DCL分别代表什么 四.JDBC有三个操作步骤 实例代码 实例代码 实例代码 五.使用PreparedStatement ...

  9. jdbc preparestatement 执行多条语句_第二十一天JDBC编程

    JDBC编程 JDBC是连接数据库和Java程序的桥梁,通过JDBC API可以方便地实现对各种主流数据库的操作.本篇将介绍一下如何使用JDBC操作数据库(以MySQL为例). 一.JDBC JDBC ...

最新文章

  1. python中and与or的执行顺序-关联子查询的执行顺序是什么
  2. 漫说模板方法模式---学生时代的烦恼
  3. 错误:无法访问android.app.Activity 找不到android.app.Activity的类文件
  4. java定义静态set集合_java集合之set
  5. osgEarth用户手册
  6. linux文件删除恢复
  7. SVM支持向量机习题解答
  8. 删除病毒ETH的方法 如何解密sql文件 恢复mdf数据库文件
  9. 版本向量 使用css时正确区分IE版本[转]
  10. 巧用「打印」功能实现PDF单页提取
  11. unable to remove repository reference  (must force) - container is using its referenced image
  12. 老司机和你深聊Kubenertes 资源分配之 Request 和 Limit 解析
  13. 虚拟化应用(三)Hyper-V 2.0 初探
  14. 解决Protel 99se 老是未响应的问题
  15. 【LTE】Qualcomm LTE Packets log 分析(二)LTE Access Stratum Log Analysis 3_SRB1 4_UL_DATA_Tran
  16. 计算机技术在医学领域的运用,计算机在医疗系统中的应用
  17. SiteFactory支持ppt一键上传
  18. kafka的offset是个什么鬼。。
  19. 单向链表的创建与遍历(先进先出和先进后出)
  20. 罗斯蒙特PH电极1056-01-22-32-AN智能型四线制变送器规格及特点

热门文章

  1. 如何继承和重写一个Bundle的某部分
  2. struct2(四)编写Struct2 的Action
  3. 鼠标放在图片连接上面,预览图片
  4. 06.Java虚拟机问题
  5. lLinux网络相关命令,防火墙介绍及相关命令
  6. shell脚本学习之参数传递
  7. EM(期望最大化)算法初步认识
  8. Linux字体显示不同颜色
  9. socket 编程入门教程(三)TCP原理:7、TCP连接的关闭
  10. window.location.Reload()和window.location.href 区别