JDBC初相识
文章目录
- JDBC的由来
- JDBC的好处
- JDBC核心API的介绍
- JDBC会用到的包
- JDBC四个核心对象
- JDBC访问数据库的步骤

客户端操作MySQL数据库的方式
-
使用第三方客户端来访问MySQL:SQLyog、Navicat
-
使用MySQL自带的命令行方式
-
通过Java来访问MySQL数据库,今天要学习的内容
如何通过Java代码去操作数据库呢?
Java中给我们提供专门的一套技术,可以通过其中的某些类和接口操作任何的数据库,这个技术就是今天要学习的JDBC。
什么是JDBC:Sun公司为了简化、统一对数据库的操作,定义了一套java操作数据库的接口的规范,称之为JDBC。
JDBC的全称为:java database connection(java和 数据库的连接 ) 就是使用java代码来操作数据库。
JDBC的作用:Java通过JDBC就可以操作数据库
JDBC的由来
java程序依赖于jdk,jdk和数据库是2个不同的应用程序,那他们是怎么进行访问的呢?
要想搞清楚这个问题,我们必须了解下电脑是如何和其他硬件设备交互的。假设我们电脑安装完系统之后是一个无驱动的操作系统。那么当我们电脑想播放声音,即安装音响,必须得安装声卡驱动。同时电脑想和u盘硬件进行交互,也必须在电脑上安装对应的驱动。如果驱动安装失败,很显然他们是不能正常的交互的。这个安装驱动的其实就是为了定义他们两个相互交互的规则。只有统一了规则,才能交互。
同理:java程序想和数据库进行交互,也必须得安装数据库驱动,这样才能交互。但是,我们数据库有多种,这样就会导致不同的数据库具备不同的数据库驱动。
从而会导致在开发中作为程序员由于安装不同的数据库驱动而浪费很多时间,同时和数据库交互的java代码也得重新书写,这样都会导致效率很低。所以说,sun公司就会制定一套规则,这套规则就是用来java程序连接数据库的,然后各大数据库厂商只需要实现这个规则即可。这个规则就是jdbc技术,即接口。
换句话就是说,就是数据库厂商使用sun公司提供的接口,然后作为java程序员实现接口中的方法即可。接口中的方法体由具体的数据库厂商来实现。

JDBC的好处
- 我们只需要会调用JDBC接口中的方法即可,使用简单
- JDBC有关的类和接口:都在java.sql 和 javax.sql(扩展包) 包下
- 方法体由具体的数据库厂商来完成的
- 使用同一套Java代码,进行少量的修改就可以访问其他JDBC支持的数据库
JDBC核心API的介绍
JDBC会用到的包
java.sql:JDBC访问数据库的基础包,在JavaSE中的包。如:java.sql.Connectionjavax.sql: JDBC访问数据库的扩展包- 数据库的驱动,各大数据库厂商来实现。如:MySQL的驱动:
com.mysql.jdbc.Driver
JDBC四个核心对象
这几个类都是在 java.sql 包中
- DriverManager(类): 数据库驱动管理类。这个类的作用:1)注册驱动; 2)创建java代码和数据库之间的连接,即获取Connection接口;
- Connection(接口): 是一个接口, 建立数据库连接的一个接口。作用:建立数据库和java代码之间的连接。表示与数据库创建的连接
- Statement(接口)、PreparedStatement(接口) (解决安全隐患问题,比如sql注入的问题): 数据库操作,向数据库发送sql语句。执行SQL语句的对象
- ResultSet: 结果集或一张虚拟表。 Statement 发送sql语句,得到的结果 封装在 ResultSet 中。

JDBC访问数据库的步骤
-
由DriverManager注册驱动程序
-
创建和数据库的连接对象Connection
-
由客户端发送SQL语句给服务器执行,SQL语句封装成Statement对象
-
查询到的结果集封装成ResultSet对象
-
在客户端可以从ResultSet中取出数据,处理结果集
-
释放资源,关闭连接对象
相关文章:
JDBC初相识
文章目录 JDBC的由来JDBC的好处 JDBC核心API的介绍JDBC会用到的包JDBC四个核心对象JDBC访问数据库的步骤 客户端操作MySQL数据库的方式 使用第三方客户端来访问MySQL:SQLyog、Navicat 使用MySQL自带的命令行方式 通过Java来访问MySQL数据库,今天要学习…...
Go语言现代web开发07 map字典
Maps are complex data types used to store key-value pairs. Each key can appear only once on the map and can be used to find the value paired with that key. The default value for the map is nil. A nil map has no keys and keys cannot be added. 映射是用于存储…...
AI工具一键制作爆火的“汉语新解“卡片!
最近出现了一种很火的新玩法“汉语新解”。 AI把一个词汇,以一种特殊的视角,用幽默、讽刺等方式重新定义,然后生成一张精美的卡片。 这个玩法和之前我发的的吐槽工具玩法类似,主打的就是一个新颖、情绪释放。 今天教大家怎么快速…...
windows检查端口占用并关闭应用
要在Windows CMD中找到占用8888端口的应用并关闭该应用,你可以按照以下步骤操作: 打开命令提示符(CMD)。你可以通过在搜索栏输入 cmd 或使用 Win R 快捷键,然后输入 cmd 并回车来打开。 查找占用8888端口的进程。在C…...
机器学习-聚类算法
机器学习-聚类算法 1.AHC2. K-means3. SC4.MCL 仅个人笔记,感谢点赞关注! 1.AHC 2. K-means 3. SC 传统谱聚类:个人对谱聚类算法的理解以及改进 4.MCL 目前仅专注于NLP的技术学习和分享 感谢大家的关注与支持!...
keil 中 printf重定向
int fputc(int ch, FILE *f) {HAL_UART_Transmit(&huart1, (void*)&ch, 1, 1000);return ch;} 同时勾选,使用微库...
yum下载软件失败:‘Could not resolve host: mirrorlist .centos .org; Unknowm error
Loaded plugins: fastestmirror, ovl Determining fastest mirrors Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7&archx86_64&repoos&infracontainer error was 14: curl#6 - “Could not resolve host: mirrorlist.centos.org; Unknow…...
云轴科技ZStack 获鲲鹏应用创新大赛2024上海赛区决赛一等奖
9月13日,鲲鹏应用创新大赛2024上海赛区决赛成功举办。经评委专家从方案创新性、技术领先性、商业前景以及社会价值四个维度严格评审,云轴科技ZStack参赛作品《ZStack鲲鹏原生开发方案》荣获上海赛区企业赛——原生开发赛道(互联网)…...
沉浸式体验Stability AI最新超强AI图片生成模型Ultra
2024年9月4日,亚马逊云科技在Amazon Bedrock上新了Stability AI最新的的三款文本图像生成模型:他们分别是Stable Image Ultra、Stable Diffusion 3 Large 和 Stable Image Core。全新的模型在处理多主题提示词、图像质量和图片排版上较上一代模型有显著提…...
网络安全宣传周的时间,举办活动的方式和意义
网络安全宣传周是中国国家层面为提升公众网络安全意识、普及网络安全知识、推广网络安全技能而设立的一项重要活动。以下是对网络安全宣传周的时间,举办活动的方式和意义的介绍: 时间:国家网络安全宣传周自2014年首次举办以来,每…...
Jacoco的XML报告详解
使用jacococli完成jacoco测试报告生成后,会看到有一个.xml结尾的文件,这个就是xml格式的覆盖率报告。除了xml还有csv、html格式的报告,本文进介绍xml报告。 DTD文件 在介绍jacoco的xml报告之前,我们应该先看一下对应的DTD文件的内容。(DTD的全称为Document Type Definitio…...
【数据结构与算法 | 灵神题单 | 合并链表篇】力扣2, 21, 445, 2816
1. 力扣2:两数相加 1.1 题目: 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可…...
【秒达开源】多功能中文工具箱源码:自部署 全开源 轻量级跨平台 GPT级支持+高效UI+Docker
【秒达开源】多功能中文工具箱源码发布:自部署、全开源、轻量级跨平台,GPT级支持高效UI,Docker/便携版任选,桌面友好丰富插件生态 这是一款集大成之作,专为追求高效与便捷的用户量身打造。它不仅支持完全自部署&#…...
【云原生安全篇】一文掌握Harbor集成Trivy应用实践
【云原生安全篇】一文掌握Harbor集成Trivy应用实践 目录 1 概念 1.1 什么是 Harbor 和 Trivy? 1.1.1 Harbor 1.1.2 Trivy 1.2 Harbor 与 Trivy 的关系 Trivy 在 Harbor 中的作用: 1.3 镜像扫描工作流程 2 实战案例:在Harbor 配置 Trivy …...
计算机网络30——Linux-gdb调试命令makefile
1、开始调试 编译时带-g为调试,带调试信息编译后的可执行文件更大 2、进入调试 使用gdb 可执行文件名——进入调试 失败版: 成功版: 3、l命令 l什么都不加——列出10行代码 l 行号——行号的行在中间,向上向下展示10行 4、st…...
【物联网】一篇文章带你认识RFID(射频识别技术)
基本原理 RFID是Radio Frequency Identification的缩写,即射频识别技术,其工作原理基于电磁感应理论(射频一般指微波,频段在1-100GHz,适用于短距离通信),是一种非接触式的自动识别技术…...
STM32G474RE之RTC
STM32G474RE之RTC使用HAL库实现RTC时间配置,以及报警配置,支持双路报警。 1、STM32G474RE的RTC晶振引脚: OSC32_IN为PC14,OSC32_OUT为PC15; 2、Vbat引脚 Vbat引脚是用来给外部晶振LSE和备份寄存器提供电源。当没有“…...
TwinCAT3 实时核中ADS实现C++ server、clinet数据传输
一、基本概念 ADS :Automation Device Specification,ADS设备间进行通信的协议规范。协议定义了ADS device之间如何寻址对方、ADS device之间可以执行哪些操作、执行这些操作需要哪些参数,以及操作完成后如何返回结果等。从编程角度看&#…...
apt:Debian 高级包管理器
apt 是 Advanced Package Tool 的缩写。 apt 是一个在 Debian 及其衍生版本(如 Ubuntu)上管理软件包的工具。以下是一些常见的 apt 命令和用法: 1. 更新软件包列表 sudo apt update2. 安装软件包 sudo apt install package_nam…...
基于React+JsonServer+Antddesign的读书笔记关联系统
文章目录 涉及技术系统功能JsonServer介绍JsonServer安装JsonServer使用创建React项目我的书架显示效果关键代码笔记显示效果关键代码人物关系显示效果关键代码个人中心显示效果关键代码完整代码和数据下载地址项目启动步骤启动json-server启动react项目涉及技术 React Antddes…...
QT新手避坑:一个QWidget只能有一个QLayout,别再重复setLayout了
QT布局管理核心机制:从QLayout父子关系到内存安全实践 在QT的GUI开发中,布局管理是最基础也最容易踩坑的领域之一。许多刚接触QT的开发者,往往会被看似简单的布局系统所迷惑,直到控制台不断输出"QLayout: Attempting to add …...
基于Adafruit NeoTrellis M4打造自定义物理宏键盘:HID协议与CircuitPython实战
1. 项目概述:从通用键盘到专属启动台 如果你和我一样,每天要在电脑前处理大量任务,频繁地在不同应用间切换,或者需要执行一系列固定的快捷键操作,那么你肯定对“效率工具”有着执着的追求。我们习惯了通用键盘的“Ctrl…...
如何永久免费使用Cursor Pro:完整破解指南与工具详解
如何永久免费使用Cursor Pro:完整破解指南与工具详解 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tria…...
别再折腾了!我整理好的Elsevier LaTeX模板(通用版+复杂版)直接拿来用
Elsevier LaTeX模板终极避坑指南:从编译报错到一键投稿 第一次打开Elsevier官方LaTeX模板时,我盯着满屏的报错信息足足愣了五分钟——作为一个刚踏入科研领域的研究生,这简直像在解一道没有提示的数学证明题。经过三个月的反复试错和数十次期…...
Beyond Compare 5 开源密钥生成器:逆向工程与授权机制的深度解析
Beyond Compare 5 开源密钥生成器:逆向工程与授权机制的深度解析 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 在软件安全与逆向工程领域,授权验证机制始终是开发者与安…...
MPLAB XC编译器许可证全解析:从免费版到专业版,嵌入式开发避坑指南
1. 项目概述:从许可证开始,理解嵌入式开发的“入场券”在嵌入式开发领域,尤其是围绕Microchip的PIC和AVR系列MCU进行项目时,MPLAB XC编译器几乎是绕不开的工具。很多开发者,特别是刚入行的朋友,往往一上来就…...
基于Code Llama的本地AI编程助手:VSCode插件部署与优化实战
1. 项目概述:为什么我们需要一个更聪明的代码助手?在VSCode的插件市场里搜索“AI代码补全”,结果可能会让你眼花缭乱。从基于GPT的Copilot到各种开源模型驱动的工具,选择很多,但痛点也很明显:要么需要稳定的…...
Unity角色控制器深度解析:从原理到实战,打造3A级移动手感
1. 项目概述:一个为游戏角色注入灵魂的控制器如果你在游戏开发领域摸爬滚打过,尤其是涉足过3D动作、冒险或者平台跳跃类项目,那你一定对“角色控制器”这个概念又爱又恨。爱的是,它是连接玩家输入与游戏世界反馈的核心桥梁&#x…...
FAST开发方法在系统分析中四个阶段
在系统分析师考试中,被频繁考查的FAST(Framework for the Application of Systems Thinking)方法,是一个聚焦于系统分析阶段的框架。 它的核心是将复杂的分析工作拆解为四个环环相扣的阶段:初始研究、问题分析、需求分析和决策分析。 📊 四个阶段速览 阶段 核心任务 1…...
数字卡尺原理深度解析:从电容传感技术到精密测量实践
1. 数字卡尺:从机械指针到电容传感的进化在车间、实验室或者任何一个需要和精确尺寸打交道的角落,卡尺都是工程师、技师和创客们最忠实可靠的伙伴。过去,我们依赖的是表盘上跳动的指针,或者游标卡尺上需要仔细对齐的刻度线&#x…...
