个人主页:Dawn黎明开始
系列专栏:Java
⭐每日一句:向阳而生,逐光而行欢迎大家:关注+点赞+评论+收藏⭐️
文章目录
前言
什么是JDBC
应用程序使用JDBC访问数据库的方式
JDBC驱动程序分类
(1)JDBC-ODBC桥驱动程序
(2)本地API驱动程序
(3)网络协议驱动程序
(4)本地协议驱动
总结
在软件开发过程中,经常要使用数据库存储和管理数据。为了在Java中提供对数据库访问的支持,SUN公司于1996年提供了一套访问数据库的标准Java类库,即JDBC。
JDBC的全称是Java数据库连接(Java Database Connectivity),它是一套用于执行SQL语句的Java API。应用程序可通过这套Java API连接到关系数据库,并使用SQL语句完成对数据库中数据的查询、新增、更新和删除等操作。使用JDBC连接数据库驱动,用户就不必用户不必编写Java程序与数据库交互的底层代码,使得代码的通用性更强。
JDBC本身提供的是一套数据库操作标准,而JDBC中提供的这些标准又需要各个数据库厂商实现,针对每一个数据库而言,每一个数据库厂商都会为其数据库产品提供一个JDBC的驱动程序,目前比较常见的JDBC驱动程序可以分为以下4类。
JDBC-ODBC桥驱动程序由SUN公司开发,是JDK提供的数据库操作标准API,这种类型的驱动实际是把所有 JDBC的调用传递给ODBC(Open Database Connectivity,开发数据库连接),再由ODBC调用本地数据库驱动代码,操作数据库中的数据。通过JDBC-ODBC桥驱动操作数据库的方式如下所示:
由于JDBC-ODBC桥驱动程序经过几次中间调用,所以执行效率比较低。
本地API驱动直接将JDBC API 映射成数据库特定的客户端API。这种驱动包含特定数据库的本地API,通过它可以访问数据库的客户端。通过本地API驱动操作数据库的方式如下所示:
通过本地 API驱动程序访问数据库减少了ODBC的调用环节,提高了数据库访问的效率。
网络协议驱动是用纯Java语言编写的,JDBC把对数据库的访问请求传递给网络上的中间件服务器,中间件服务器先把请求转换为数据库通信协议请求,然后再通过中间件服务器与数据库进行交互。使用这种类型驱动程序的Java应用程序可以与服务器端完全分离,具有很大的灵活性。通过网络协议驱动操作数据库的方式:
本地协议驱动是用使用纯Java语言编写的。本地协议驱动通常由数据库厂商直接提供驱动的JAR包,本地协议驱动程序直接将JDBC调用转换为数据库特定的网络通信协 议,然后与数据库进行交互。通过本地协议驱动操作数据库的方式:
上述4种类型中,JDBC-ODBC桥驱动程序由于执行效率不高,更适合开发应用时的一种过渡方案; 如果是在内联网(Intranet)的应用,可以考虑本地API 驱动程序;如果是基于互联网(Internet)并且需要同时连接多个不同种类的数据库, 并发连接要求高的应用,可以考虑JDBC-Net Driver。如果是基于互联网(Internet)但连接单一数据库的应用,可以考虑Native Protocol Driver。
欢迎大家在评论区进行讨论和指正!