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.Connection
javax.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…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...

PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 :在几秒钟…...