【Java学习】JDBC可以再深一点理解

JDBC驱动程序

JDBC驱动程序是JDBC API中实现定义的接口。
JDBC是java语言中的与数据库连接的接口。
也就是说JDBC是Java API,使得Java可以与数据库进行连接,而JDBC驱动程序是JDBC API,驱动JDBC进一步与数据库进行交互。

例如:使用JDBC驱动程序,可以发送SQL或者数据库命令,然后就可以打开数据库连接并与数据库进行交互。

JDBC驱动的类型

Sun公司讲实现类型分为四种,1,2,3,和4类型。

类型1: JDBC-ODBC桥驱动程序
【知识点】ODBC

什么是ODBC?

它是Open Database Connection,中文解释为开放数据连接。百度百科上面说它为解决异构数据库间的数据共享而产生的,这很难理解。
首先我们现在有很多中数据库系统,如Oracle的Mysql,Sql Server等等,同时不同模型的数据库还有一大堆,抛去关系型数据库还有层次型、网络型、面向对象型...还有他们运行的操作系统也有不同,有的运行在linux上,有的呢又运行在windows上,当然也不一定安装在计算机中,可以安装在各种设备中,如:大型机、小型机、嵌入式系统中。那么这些不同的数据库系统的集合就可以称为异构数据库!!那么有没有互联的需求吗?答案是一定的,他们需要共享数据!

当今世界,人们对数据的需求越来越广泛。一个部门里我们可以统一标准,必须在PC上使用Mysql!但是不同部门与不同部门之间同样需要数据共享。所以数据库互联成为了一个很头疼的问题。

ODBC就是为了解决这一问题的。在操作系统中安装ODBC,应用程序可以用ODBC驱动来完成所有的数据库操作。没错,所有的!

大概了解这么多也就足够了。

回到类型一的驱动程序,JDBC桥接器用于访问安装在每台客户机上的ODBC驱动程序。然后通过ODBC可以进行数据库的交互。

clipboard.png
但现在不推荐使用这种类型的驱动程序。

JDK1.2附带的JDBC-ODBC桥接就是这种驱动程序。

类型2:JDBC本地API

在此类型中,JDBC API调用将转换为本地C/C++ API调用。这些驱动程序通常由数据库提供商提供。必须在每个客户机上安装供应商特定的驱动程序。

clipboard.png
这个和类型1使用方式是相同的,但是他需要特定于数据库,但是有点也显而易见,它能够自行扩展,消除了ODBC开销(看图,不再需要ODBC提供服务了)。

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

类型3:JDBC-Net纯Java

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

由此可见此驱动很令或,不需要在哭胡段上面安装代码,一个驱动程序实际上可以提供多个数据库的访问。

clipboard.png

可以将在应用程序服务器视为JDBC“代理”,他会调用客户端应用程序。

应用程序服务器会使用类型1,2或4与数据库通信。

类型4 :100%纯java

基于纯Java的驱动程序同样通过套接字连接与供应商的数据库直接通信。但是不同的是,这通常由供应商自己提供。

优点是同样灵活。还有这些驱动由于是数据库供应商提供的,所以还可以动态的下载。

clipboard.png

MysqlConnector/J驱动程序是类型4驱动程序。

该使用哪个类型的驱动程序?

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

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

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

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

参考资料

易百教程
百度百科

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值