JAVA语言参考ODBC,设计专用的数据库连接规范JDBC(JAVA Database Connectivity)。目标是让Java开发人员在编写数据库应用程序时,可以有统一的接口,不依赖特定数据库API,达到"一次开发,适用所有数据库"。

JDBC标准中,把驱动程序分为四种类型:

Type1:JDBC-ODBC BridgeDriver(JDBC-ODBC桥)

  SUN发布了JDBC-ODBC的桥连接驱动,利用现成的ODBC架构,将JDBC调用转换为ODBC调用,再由ODBC调用本地数据库驱动代码(数据库厂商提供的数据库操作DLL。如oracle for windows中就是 oci dll文件),如下图:

其特点:不适合intranet/internet的应用方面

Type 2:Native API Driver(本地API驱动)

  这类驱动程序会直接调用数据库提供的原生链接库或客户端,因为没有中间过程,访问速度通常表现良好。

其特点:需要在客户端加载数据库DLL,也不适合internet

Type 3: JDBC-Net Driver(网络协议驱动)

  这类驱动程序将JDBC调用转换为独立于数据库的协议,然后再通过特定的中间组件或服务器转换为数据库通信协议,主要目的是为了获得更好的架构灵活性。

  例如更换数据库时可通过更换中间组件实现,JDBC领域这种类型驱动并不常见,而微软的ADO.NET是这种架构的典型。如下图:

其特点:适合应用程序需要同时连接多个不同类的数据库,且要求并发连接高的。

Type4:Native Protocol Driver(本地协议驱动)

  开发中使用的驱动jar包基本都属于此类,通常由数据库厂商直接提供,例如mysql-connector-java,驱动程序把JDBC调用转换为数据库特定的网络通信协议。如下图:

  上图是最常见的驱动程序类型,其特点:应用程序可以直接和数据库服务器通讯,执行效率是非常高的。适合应用程序连接单一数据库场景。

2.6_Database Interface JDBC及驱动类型的更多相关文章

  1. JDBC 学习笔记(二)—— 详解 JDBC 的四种驱动类型

    JDBC 有四种驱动类型,分别是: JDBC-ODBC 桥(JDBC-ODBC bridge driver plus ODBC driver) 本地 API 驱动(Native-API partly ...

  2. Spring JDBC处理CLOB类型字段

    以下示例将演示使用spring jdbc更新CLOB类型的字段值,即更新student表中的可用记录. student表的结构如下 - CREATE TABLE student( ID INT NOT ...

  3. Spring JDBC处理BLOB类型字段

    以下示例将演示使用spring jdbc更新BLOB类型的字段值,即更新student表中的可用记录. student表的结构如下 - CREATE TABLE student( ID INT NOT ...

  4. JDBC 注册驱动,获取连接

    jdbc 动力节点视频教程 JDBC编程六步 1.注册驱动(作用:告诉Java程序,即将要连接的是哪个品牌的数据库) 2.获取连接 (表示JVM进程和数据库进程之间的通道打开了,属于进程间的通信,重量 ...

  5. JDBC 常用驱动类及url格式

    1. oracle <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</ ...

  6. JDBC注册驱动的三种方式

    JDBC注册驱动的三种方式 1.通过导入的JDBC的驱动包拿到的com.mysql.jdbc.Driver对象,利用java.sql.DriverManager对象的DriverManager.reg ...

  7. Direct3D驱动类型(DRIVER_TYPE)介绍

    之前部门老大叫我查找有关Direct3D使用软件渲染的方法,于是我找到了D3D驱动的类型,并整理如下 一.D3D驱动类型的句法 typedef enum D3D_DRIVER_TYPE { D3D_D ...

  8. Java笔记4:JDBC纯驱动方式连接Oracle

    JDBC纯驱动方式连接Oracle 1 下载Oracle提供的驱动程序包 下载地址: http://www.oracle.com/technetwork/database/enterprise-edi ...

  9. JDBC驱动类型

    一下内容引用自http://wiki.jikexueyuan.com/project/jdbc/drive-types.html: 一.什么是JDBC驱动程序? JDBC驱动实现了JDBC API中定 ...

随机推荐

  1. ICEM-三角形特征几何

    原视频下载地址:https://pan.baidu.com/s/1qY8SKri 密码: wf17

  2. 微信小程序之页面传参

    效果图: 点击编辑值传过去了,那么编辑支出类型这个界面又是如何获取到值呢? 传值代码: type.js editType: function (e) { var typeId = e.currentT ...

  3. Java使用Jsoup之爬取博客数据应用实例

    导入Maven依赖 <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> <dependency> <g ...

  4. Redis的常用JavaAPI(Jedis)实现

    一.  pom依赖: <!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> & ...

  5. C#中将xml文件反序列化为实例时采用基类还是派生类的问题

    基类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...

  6. SDM439平台出现部分机型SD卡不能识别mmc1: error -110 whilst initialising SD card【学习笔记】

    SDM439平台出现部分机型SD卡不能识别mmc1: error -110 whilst initialising SD card 打印了如下的log: - ::>[ after ms - :: ...

  7. golang rabbitmq 的学习

    https://www.rabbitmq.com/tutorials/tutorial-one-go.html Rabbitmq的任务分发机制 producer_task.go package mai ...

  8. Java与.net 关于URL Encode 的区别

    在c#中,HttpUtility.UrlEncode("www+mzwu+com")编码结果为www%2bmzwu%2bcom,在和Java开发的平台做对接的时候,对方用用url编 ...

  9. vue-vuex的使用

    做后台项目的时候,有时候会需要用到状态管理,VUEX就能够很好的为我们解决好这个问题. 安装 VUEX npm install vuex --save 具体使用: 建立 src/store/index ...

  10. ISO/IEC 9899:2011 条款1——范围

    1. 范围 1.本国际标准指定了C编程语言的形式并建立了对用C编程语言进行编写程序的诠释.[注:国际标准的设计是用于提升在多种数据处理系统中的C程序的可移植性.其目的在于能够被实现者与程序员所使用.] ...