JDBC连接Mysql数据库超详细讲解
JDBC连接Mysql数据库
如何导入驱动jar包
-
进入mysql官网 – https://www.mysql.com/
-
点击下载找到方框内选项

-
点击

-
在项目文件夹创建lib文件 , 将下载好的驱动器导入 , 再添加到项目即可

步骤一:注册JDBC驱动
在Java中,要与数据库进行交互,首先需要加载对应的数据库驱动。对于MySQL数据库,我们通常使用com.mysql.jdbc.Driver(注意:在MySQL Connector/J 8.0及更高版本中,类名更改为com.mysql.cj.jdbc.Driver,但旧名称在许多情况下仍然兼容)。这通过调用Class.forName()方法并传入驱动类的全限定名来实现。
Class.forName("com.mysql.jdbc.Driver"); // 加载MySQL JDBC驱动
步骤二:建立数据库连接
接下来,我们使用DriverManager.getConnection()方法来获取到数据库的连接。这个方法需要三个参数:数据库的URL、数据库的用户名和密码。数据库的URL遵循特定的格式,例如jdbc:mysql://hostname:port/dbname。
String url = "jdbc:mysql://127.0.0.1:3306/db5"; // 假设数据库运行在本地,名为db5
Connection conn = DriverManager.getConnection(url, "root", "itheima"); // 使用用户名root和密码itheima连接
步骤三:编写SQL语句
在这一步,我们编写需要执行的SQL语句。例如,这里我们编写了一个查询语句,用于从user表中检索id、username(这里用AS关键字重命名为name)和password字段。
java复制代码String sql = "select id,username AS name,password from user";
步骤四:执行SQL语句并处理结果
使用Connection对象,我们可以创建一个Statement对象,该对象用于执行SQL语句。然后,我们通过调用executeQuery()方法执行查询,并返回一个ResultSet对象,该对象包含了查询结果。
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql); // 遍历ResultSet并打印结果
while (rs.next()) { System.out.print(rs.getInt("id") + "\t"); System.out.print(rs.getString("name") + "\t"); System.out.println(rs.getString("password") + "\t"); System.out.println("=======================================");
}
步骤五:释放资源
完成数据库操作后,为了避免资源泄露,我们应该关闭ResultSet、Statement和Connection对象。
rs.close();
stmt.close();
conn.close();
相关文章:
JDBC连接Mysql数据库超详细讲解
JDBC连接Mysql数据库 如何导入驱动jar包 进入mysql官网 – https://www.mysql.com/ 点击下载找到方框内选项 点击 在项目文件夹创建lib文件 , 将下载好的驱动器导入 , 再添加到项目即可 步骤一:注册JDBC驱动 在Java中,要与数据库进行交互&…...
ArcGIS基础:自定义创建点线面等样式符号以方便使用
有时,使用ArcGIS自带的符号样式库无法满足我们使用要求,还需要进行调整,可能会浪费一些时间,那么自己新建一些样式符号备用, 需要的时候直接使用,会节省很多时间,大家学会之后,对学…...
蔚来2025届全球校招笔试/测评通关攻略北森测评题库更新了!
蔚来2025届全球校园招聘笔试/测评攻略 尊敬的各位考生,蔚来汽车2025届全球校园招聘笔试/测评环节即将开启。为了帮助您更好地准备并顺利通过这一环节,我们特此提供以下详细攻略。 一、考前准备 确认考试时间:请务必在截止日期前完成考试&am…...
如何在linux系统上部署Redis
<1>简介 Redis 全称 Remote Dictionary Server(远程字典服务器),是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务…...
操作系统开发行业的市场需求分析
操作系统作为计算机软件生态的核心,其开发不仅关乎技术的深度与广度,更与市场需求紧密相连。随着技术的不断进步和各行各业对数字化转型的迫切需求,操作系统开发行业面临着日益复杂且多样化的市场需求。以下从基础功能需求、技术创新需求、行…...
SpringMVC 的 拦截器
Spring MVC 提供了一套拦截器(Interceptor)机制,主要用于处理 Web 请求到达控制器之前或响应离开控制器之后执行一些操作。拦截器可以用于执行预处理(如验证用户身份)和后处理(如清理资源或修改响应&#x…...
Redisson可重入锁原理(基于黑马视频总结,保姆级)
上一篇文章我们基于redis的set nx ex 命令以及Lua脚本实现了基本的分布式锁,但是还存在一下几点问题。于是又引出了redisson。 为什么基于SETNX的分布式锁无法实现可重入 先在method1中获取锁,获取成功后又调用method2,而method2内部也会获取…...
Ubuntu 安装 Watt-Toolkit
一、下载 Watt-Toolkit 下载Watt-Toolkithttps://steampp.net/download 二、设置 Watt-Toolkit 打开 Watt-Toolkit,点击 “网络加速→加速设置,打开证书文件夹” ,当前证书路径为:/home/yammie/.local/share/Steam/Plugins/Acc…...
python中的省略号(...)
下面对python学习中遇到的省略号做个总结 # 1. 前言 在Python中,一切皆对象,...也是对象,它和对象Ellipsis是等价的。对象...和Ellipsis的类型都是ellipsis,代码示例如下。 print(Ellipsis) # 输出:Ellipsis print(…...
第129天:内网安全-横向移动WmiSmbCrackMapExecProxyChainsImpacket
这里这个环境继续上一篇文章搭建的环境 案例一: 域横向移动-WMI-自带&命令&套件&插件 首先上线win2008 首先提权到system权限 wmic是windows自带的命令,可以通过135端口进行连接利用,只支持明文方式,优点是不用上传别…...
ChatGPT教我将MySQL中where find_in_set改成PostgreSQL支持的写法
问题 之前使用Mybatis,在MySQL中使用如下SQL语句没有问题: SELECT * FROM dept WHERE find_in_set(5,dept_parent);现在切换到PostgreSQL,发现find_in_set函数不能使用。 解决 SELECT * FROM dept WHERE 5 ANY(string_to_array(dept_parent, ,));总…...
Python命令模式:掌控你的代码指令
Python命令模式:掌控你的代码指令 在软件工程的浩瀚海洋中,命令模式(Command Pattern)是一盏指引航向的明灯,它将请求或操作封装成对象,从而让代码更加灵活、可扩展。本文将深入探讨Python中的命令模式&am…...
【物联网】(防水篇)电子产品 IPX7 防水级别测试的具体流程
电子产品 IPX7 防水级别测试的具体流程 1. 准备工作: - 准备一个足够大的浸水箱,确保水深至少为 1 米,以满足 IPX7 测试的标准要求。 - 将水温控制在标准温度范围内,通常在 15-35 摄氏度之间,以模拟正常使用环境。 2…...
Redis 实现消息队列
Redis 实现消息队列 文章目录 Redis 实现消息队列导引1. 基于List结构的消息队列2. 基于PubSub的消息队列3. 基于Stream的消息队列(推荐)3.1 XADD3.2 XREAD3.3 XGROUP 导引 消息队列(Message Queue),从概念上来理解就是用来存放消息的队列,最简单的消息…...
模板初阶(详解)
一、泛型编程 为了引出模板,我们来看下面代码,比如要实现不同类型的交换函数,如下: void Swap(int& a, int& b) {int c a;a b;b c; } void Swap(char& a, char& b) {char c a;a b;b c; } void Swap(doubl…...
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
📚 对称加密算法解析:DES、AES及其在pycryptodome 和 crypto-js 模块中的应用 🗝️ DES 算法 算法原理 数据加密标准(DES)是一种对称密钥加密算法,用于保护数据的安全。DES 使用一个 56 位的密钥进行加密…...
C++设计模式(代理模式)
1. 电话虫 在海贼中,有一种神奇的通信工具叫做电话虫(Den Den Mushi),外形如蜗牛,身上带有斑点或条纹或通体纯色,壳顶上有对讲机或按键,不接通时会睡觉,接通时会惊醒,并发…...
Linux系统驱动(十三)Linux内核定时器
文章目录 一、内核定时器原理二、定时器API三、使用定时器让LED灯闪烁四、使用定时器对按键进行消抖 一、内核定时器原理 内核当前时间通过jiffies获取,它是内核时钟节拍数,在linux内核启动的时候,jiffies开始(按照一定频率&…...
Visual Studio 调试时加载符号慢
什么是调试符号 编译程序时生成的一组特殊字符,并包含有关变量和函数在生成的二进制文件中的位置以及其他服务信息的信息。 该数据集可用于逐步调试程序或检查第三方代码。 调试符号可以添加到可执行文件或库中,但是大多数现代编译器将它们存储为单独的…...
Spring Cloud Config:动态配置的魔法师
Spring Cloud Config:动态配置的魔法师 在微服务架构的浩瀚星海中,配置管理如同一颗璀璨的星辰,而Spring Cloud Config则是那颗能够实现配置信息集中管理和动态刷新的魔法星。本文将深入探索Spring Cloud Config的奥秘,揭示如何通…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
Qt Quick Controls模块功能及架构
Qt Quick Controls是Qt Quick的一个附加模块,提供了一套用于构建完整用户界面的UI控件。在Qt 6.0中,这个模块经历了重大重构和改进。 一、主要功能和特点 1. 架构重构 完全重写了底层架构,与Qt Quick更紧密集成 移除了对Qt Widgets的依赖&…...
【SSM】SpringMVC学习笔记7:前后端数据传输协议和异常处理
这篇学习笔记是Spring系列笔记的第7篇,该笔记是笔者在学习黑马程序员SSM框架教程课程期间的笔记,供自己和他人参考。 Spring学习笔记目录 笔记1:【SSM】Spring基础: IoC配置学习笔记-CSDN博客 对应黑马课程P1~P20的内容。 笔记2…...
stm32—ADC和DAC
ADC和DAC 在嵌入式系统中,微控制器经常需要与现实世界的模拟信号进行交互。STM32微控制器内置了模拟数字转换器(ADC)和数字模拟转换器(DAC),它们是实现这种交互的关键模块。 1. 模拟数字转换器(…...
