什么是数据库驱动?有哪几种jdbc驱动

简介: 什么是数据库驱动?有哪几种jdbc驱动

什么是数据库驱动

数据库软件可以由各个数据库厂商提供,我们熟知的mysql,oracle,sqlserver,access,db2等等都是由不同的厂商提供的,既有不同的开发商开发,因此对于数据库软件的实现过程都不尽相同。


应用程序也可以由不同的人进行开发,写代码实现的过程也不尽相同(因此应用程序和数据库软件之间属于many-to-many的关系)。如果想让应用软件和数据库之间能够产生交互,并且尽可能相互适应。换句话说,一个代码在连接任何数据库是都不用更改,就可以随意切换,一个数据库软件也可以和各种开发人员实现的应用程序无缝连接。这个时候就需要定义应用程序和数据库之间进行交互的规则(标准)。这个标准称之为驱动(Driver)。


开发商在开发数据库软件时提供针对于Driver标准的实现,应用开发人员再开发时,通过标准Driver的调用转换成对实际数据库Driver程序的调用。


因此,每一款数据库软件在实现时都会提供相对于Driver标准的一些列接口和类的实现。更明确一点说我们需要获取人家提供的这个驱动包才能保证程序和数据库之间的连接。


java.sql.Driver


四种JDBC驱动:

1.JDBC-ODBC桥加ODBC


作为jdk1.1后的一部分,是sun.jdbc.odbc包的一部分


将jdbc调用转化为odbc调用,性能低,要求用户在终端上安装相应驱动


适用于快速的原型开发,没有提供JDBC驱动的数据库如Access


java --->JDBC-ODBC桥---->ODBC --->数据库厂商代码


2.部分java实现的本地JDBC驱动


相对1有所提高,直接利用开发商提供的本地库来直接与数据库通信


java ----type2 ----native Database library ----数据库厂商代码


3.jdbc网络纯java驱动程序


将JDBC调用转换为DBMS无关的网络协议,然后由某个服务器将其转换为相应的DBMS调用


java --->type3 ---java middleware --->jdbc Driver ----->数据库厂商代码


具有最大的灵活性,通常由那些非数据库厂商提供,是四种类型中最小的


4.本地协议纯java驱动程序


将jdbc调用直接转化成响应的DBMS调用


最高的性能,通过自己的本地协议直接与数据库引擎通信,具备internet的装配能力


目前java程序连接数据库都是用纯jdbc驱动。


使用纯jdbc驱动需要先获取数据库厂商提供的驱动包:


针对于oracle数据库,可以从安装目录下的app\oracle\product\10.2.0\server\jdbc\lib下找一个叫做ojdbc14.jar。


根据jdbc版本的更新换代,现在最高的jdbc版本为4.0的版本。可以单独获取jar包,例如获取ojdbc5.jar,ojdbc6.jar.


相关文章
|
2月前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
102 0
|
1月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
4月前
|
Java 关系型数据库 数据库连接
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
53 8
|
4月前
|
Java 数据库连接 API
JDBC:Java数据库连接的“黑科技”大揭秘
JDBC:Java数据库连接的“黑科技”大揭秘
41 7
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
56 4
|
2月前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
439 1
|
2月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
阿里云瑶池在2024云栖大会上重磅发布由Data+AI驱动的多模数据管理平台DMS:OneMeta+OneOps,通过统一、开放、多模的元数据服务实现跨环境、跨引擎、跨实例的统一治理,可支持高达40+种数据源,实现自建、他云数据源的无缝对接,助力业务决策效率提升10倍。
|
2月前
|
SQL Java 数据库
Springboot+spring-boot-starter-data-jdbc实现数据库的操作
本文介绍了如何使用Spring Boot的spring-boot-starter-data-jdbc依赖来操作数据库,包括添加依赖、配置数据库信息和编写基于JdbcTemplate的数据访问代码。
208 2
|
3月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
阿里云数据库重磅升级!元数据服务OneMeta + OneOps统一管理多模态数据
|
2月前
|
SQL druid Java
JDBC和数据库连接池-两个工具类-JDBCUtilsByDruid和BasicDAO
JDBC和数据库连接池-两个工具类-JDBCUtilsByDruid和BasicDAO
70 0