当前位置: 首页 > news >正文

JDBC连接Mysql数据库超详细讲解

JDBC连接Mysql数据库

如何导入驱动jar包
  1. 进入mysql官网 – https://www.mysql.com/

  2. 点击下载找到方框内选项
    在这里插入图片描述

  3. 点击
    在这里插入图片描述

  4. 在项目文件夹创建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表中检索idusername(这里用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("=======================================");  
}
步骤五:释放资源

完成数据库操作后,为了避免资源泄露,我们应该关闭ResultSetStatementConnection对象。

rs.close();  
stmt.close();  
conn.close();
http://www.lryc.cn/news/420663.html

相关文章:

  • ArcGIS基础:自定义创建点线面等样式符号以方便使用
  • 蔚来2025届全球校招笔试/测评通关攻略北森测评题库更新了!
  • 如何在linux系统上部署Redis
  • 操作系统开发行业的市场需求分析
  • SpringMVC 的 拦截器
  • Redisson可重入锁原理(基于黑马视频总结,保姆级)
  • Ubuntu 安装 Watt-Toolkit
  • python中的省略号(...)
  • 第129天:内网安全-横向移动WmiSmbCrackMapExecProxyChainsImpacket
  • ChatGPT教我将MySQL中where find_in_set改成PostgreSQL支持的写法
  • Python命令模式:掌控你的代码指令
  • 【物联网】(防水篇)电子产品 IPX7 防水级别测试的具体流程
  • Redis 实现消息队列
  • 模板初阶(详解)
  • 对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
  • C++设计模式(代理模式)
  • Linux系统驱动(十三)Linux内核定时器
  • Visual Studio 调试时加载符号慢
  • Spring Cloud Config:动态配置的魔法师
  • Webpack入门基础知识及案例
  • 对中国人工智能与国外人工智能的思考
  • 【debian系统arm架构安装docker】且换源后依旧不行就离线导入镜像
  • Readwise 官方 Obsidian 插件使用
  • A. A+B Again?
  • pr样机模板视频素材|城市户外高速路广告牌视频样机
  • 谷歌大中华区总裁:所有企业都在问这个问题
  • GPT-4o:AI视觉识别的革命性飞跃
  • 将电脑打造成私人网盘,支持外网访问之详细操作教程
  • spring同一个接口如何分页实现主表或主+联表group by查询
  • SpringDataJpa源码分析