【Java】初识JDBC

🌺个人主页:Dawn黎明开始

🎀系列专栏:Java
每日一句:向阳而生,逐光而行

📢欢迎大家:关注🔍+点赞👍+评论📝+收藏⭐️


文章目录

📋前言

🔐什么是JDBC

🔑应用程序使用JDBC访问数据库的方式

🔑JDBC驱动程序分类

(1)JDBC-ODBC桥驱动程序

(2)本地API驱动程序

(3)网络协议驱动程序

(4)本地协议驱动

​  📝总结


 

📋前言

      在软件开发过程中,经常要使用数据库存储和管理数据。为了在Java中提供对数据库访问的支持,SUN公司于1996年提供了一套访问数据库的标准Java类库,即JDBC。

🔐什么是JDBC

      JDBC的全称是Java数据库连接(Java Database Connectivity),它是一套用于执行SQL语句的Java API。应用程序可通过这套Java API连接到关系数据库,并使用SQL语句完成对数据库中数据的查询、新增、更新和删除等操作。使用JDBC连接数据库驱动,用户就不必用户不必编写Java程序与数据库交互的底层代码,使得代码的通用性更强。

🔑应用程序使用JDBC访问数据库的方式

🔑JDBC驱动程序分类

      JDBC本身提供的是一套数据库操作标准,而JDBC中提供的这些标准又需要各个数据库厂商实现,针对每一个数据库而言,每一个数据库厂商都会为其数据库产品提供一个JDBC的驱动程序,目前比较常见的JDBC驱动程序可以分为以下4类。

(1)JDBC-ODBC桥驱动程序

      JDBC-ODBC桥驱动程序由SUN公司开发,是JDK提供的数据库操作标准API,这种类型的驱动实际是把所有 JDBC的调用传递给ODBC(Open Database Connectivity,开发数据库连接),再由ODBC调用本地数据库驱动代码,操作数据库中的数据。通过JDBC-ODBC桥驱动操作数据库的方式如下所示:

由于JDBC-ODBC桥驱动程序经过几次中间调用,所以执行效率比较低

(2)本地API驱动程序

      本地API驱动直接将JDBC API 映射成数据库特定的客户端API。这种驱动包含特定数据库的本地API,通过它可以访问数据库的客户端。通过本地API驱动操作数据库的方式如下所示:

通过本地 API驱动程序访问数据库减少了ODBC的调用环节,提高了数据库访问的效率。

(3)网络协议驱动程序

      网络协议驱动是用纯Java语言编写的,JDBC把对数据库的访问请求传递给网络上的中间件服务器,中间件服务器先把请求转换为数据库通信协议请求,然后再通过中间件服务器与数据库进行交互。使用这种类型驱动程序的Java应用程序可以与服务器端完全分离,具有很大的灵活性。通过网络协议驱动操作数据库的方式:

(4)本地协议驱动

      本地协议驱动是用使用纯Java语言编写的。本地协议驱动通常由数据库厂商直接提供驱动的JAR包,本地协议驱动程序直接将JDBC调用转换为数据库特定的网络通信协 议,然后与数据库进行交互。通过本地协议驱动操作数据库的方式:

📝总结

      上述4种类型中,JDBC-ODBC桥驱动程序由于执行效率不高,更适合开发应用时的一种过渡方案; 如果是在内联网(Intranet)的应用,可以考虑本地API 驱动程序;如果是基于互联网(Internet)并且需要同时连接多个不同种类的数据库, 并发连接要求高的应用,可以考虑JDBC-Net Driver。如果是基于互联网(Internet)但连接单一数据库的应用,可以考虑Native Protocol Driver


🌺欢迎大家在评论区进行讨论和指正!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/212990.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器没收到返回,后端也没报错,php的json_encode问题bug

今天网站遇到个问题,后端返回异常,但是浏览器状态码200,但是看不到结果。经过排查发现,我们在返回结果的时候使用了json_encode返回给前端,结果里面的字符编码异常,导致json_encode异常,但是php…

富士康转移产线和中国手机海外设厂,中国手机出口减少超5亿部

富士康和苹果转移生产线对中国手机制造造成了巨大的影响,除此之外,中国手机企业纷纷在海外设厂也在减少中国手机的出口,2022年中国的手机出口较高峰期减少了5.2亿部。 手机是中国的大宗出口商品,不过公开的数据显示2022年中国的手…

【华为OD题库-037】跳房子2-java

题目 跳房子,也叫跳飞机,是一种世界性的儿童游戏游戏。参与者需要分多个回合按顺序跳到第1格直到房子的最后一格,然后获得一次选房子的机会,直到所有房子被选完,房子最多的人获胜。 跳房子的过程中,如果有踩…

【灌水】自动跑团机器人

实现一个自动COC跑团机器人 这几天玩博德之门3有点累了 #假如你有一台服务器,你最想做哪些事?# 这他妈是什么idea收集器,你们就是靠这个收集idea吗,那我就说一个绝对不赚钱的了。 简单实现了追书人的基本流程,最后…

Docker Compose部署微服务项目实战讲解

一、Docker Compose简介 当需要在多个容器之间协调和管理应用程序时,Docker Compose是一个非常有用的工具。它允许通过一个配置文件来定义、配置和启动多个 Docker 容器,使得整个应用程序的部署变得更加简单和一致。以下是 Docker Compose 的一些重要概…

走近科学之《MySQL 的秘密》

走近科学之《MySQL 的秘密》 mysql 存储引擎、索引、执行计划、事务、锁、分库分表、优化 1、存储引擎(storage engines) 存储引擎规定了数据存储时的不同底层实现,如存储机制、索引、锁、事务等。 可以通过 show engines 命令查看当前服务…

项目中常用的 19 条 SQL 优化宝典

一、EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引…

每日一题:LeetCode-105.从前序遍历与中序遍历构造二叉树

每日一题系列(day 02) 前言: 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 &#x1f50e…

常见树种(贵州省):014槭树、梧桐、鹅掌楸、檫木、梓木、油桐、泡桐、川楝、麻楝

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、色木槭…

USB驱动开发基础

USB标准 USB1.0, 1996,低速1.5Mbps和高速12Mbps,USB1.1 iMac G3,Type A和Type B接口USB 2.0 2000, 480Mpbs,Type A/B/C接口、Micro A/BUSB 3.0 5Gbps, 随着USB 3.2命名规定,现在也叫USB 3.2 Ge…

CUDA学习笔记9——CUDA 共享内存 / Shared Memory

由于共享内存拥有仅次于寄存器的读写速度,比全局内存快得多。因此,能够用共享内存访问替换全局内存访问的场景都可以考虑做对应的优化。 不利用共享内存的矩阵乘法 不利用共享内存的矩阵乘法的直接实现。每个线程读取A的一行和B的一列,并计…

mac电脑系统活动监控:iStat Menus 中文 for Mac

iStat Menus是一款Mac操作系统上的系统监控工具,它提供了实时的系统状态和性能数据,让用户可以方便地监控和管理自己的电脑。iStat Menus以菜单栏图标的形式显示各种系统指标,用户可以轻松访问和查看这些信息。 以下是iStat Menus软件的一些…