什么是数据库驱动?有哪几种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.


相关文章
|
3月前
|
人工智能 数据管理 Serverless
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
407 2
|
3月前
|
人工智能 运维 Cloud Native
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
149 2
|
4月前
|
SQL Java 关系型数据库
JDBC数据库的连接
JDBC数据库的连接
34 0
|
4月前
|
SQL druid Java
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)(上)
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
68 0
|
3月前
|
人工智能 数据管理 大数据
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
35 2
|
5天前
|
SQL druid Java
JDBC&数据库连接池
JDBC&数据库连接池
|
7天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
18天前
|
Cloud Native 关系型数据库 分布式数据库
数据之势丨云原生数据库,走向Serverless与AI驱动的一站式数据平台
在大模型席卷之下,历史的齿轮仍在转动,很多人开始思考,大模型能为数据库带来哪些改变。阿里云数据库产品事业部负责人李飞飞表示,数据库和智能化的结合是未来非常重要的发展方向,数据库的使用门槛将大幅降低。
|
28天前
|
SQL Java 数据库连接
使用JDBC进行数据库操作:Java Web开发的数据库连接
【4月更文挑战第3天】Java Web开发中,JDBC是与数据库交互的关键,提供统一访问关系型数据库的规范。核心组件包括DriverManager、Connection、Statement和ResultSet。使用流程涉及加载驱动、建立连接、创建Statement、执行SQL及处理结果,最后关闭资源。最佳实践包括使用try-with-resources、PreparedStatement、事务管理等。在Web开发中,JDBC用于用户认证、数据持久化、检索和事务管理。虽然有ORM工具,但掌握JDBC基础仍然重要。
|
2月前
|
安全 Java 数据库连接
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
155 0