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

JAVA数据库连接

JAVA数据库连接_MYSQL

  • 配置mySQL
    • 方法1:单独配置mysql
    • 方法2:下载phpstudy(个人推荐且有成功经验)
      • 命令行下载链接
      • windows下载链接
      • 下载安装流程
      • 配置环境变量
  • 配置JDBC驱动
    • 下载 MySQL Connector/J
      • 官方下载地址
      • 版本选择
    • 将JDBC驱动文件文件添加到Java项目
  • 运行代码:
    • 库处理:
    • 尝试连接MySQL:
    • 创建表:
  • 查看表中的内容:
    • 命令行窗口:
    • 图形化界面:

配置mySQL

如果电脑已经配置有MySQL,可以直接使用现有的环境(特别是配置过XAMPP的要注意),也可以卸载重装phpstudy

方法1:单独配置mysql

MySQL安装教程

方法2:下载phpstudy(个人推荐且有成功经验)

命令行下载链接

windows下载链接

下载安装流程

采用第二种方法比较方便,点击下载,解压后得到.exe文件,双击直接安装。
安装路径千万不要包含【空格】
安装之后,可以直接启动MySQL,若出现MySQL启动之后立刻停止,那就是已经配置过MySQL,且数据库服务自动启动,占用了端口(默认端口3306)
启动
数据库的默认用户名和密码都是root,可以不用修改
密码

配置环境变量

在开始界面搜索”环境变量“,按照下面图片进行配置:
环境变量
小皮面板中启动数据库,并在cmd中输入下面的代码,若成功访问数据库,环境变量配置成功

mysql
mysql -u root -p root //用户名和密码登录 

配置JDBC驱动

下载 MySQL Connector/J

官方下载地址

🔗 MySQL Connector/J 下载页面

版本选择

  1. 操作系统:选择 Platform Independent(平台无关)。
  2. 下载格式:选择 ZIP Archive
    JDBC

将JDBC驱动文件文件添加到Java项目

  1. 下载完成后,解压,找到其中后缀为 .jar的文件。
  2. 在Java项目下创建 lib 文件夹,lib文件夹与src处于同一层目录结构
  3. .jar 复制粘贴进去。
  4. 配置Eclipse文件:右键项目 → Build PathConfigure Build Path →在Libaries选择 Add JARs → 选择 .jar 文件→勾选在初始界面勾选.jar文件
    配置

运行代码:

库处理:

可能需要在module-info文件中引用外部库:

module exp_6 {requires java.sql;
}

尝试连接MySQL:

package exp_6_1;import java.sql.*;public class Main {public static void main(String[] args) {String driverName = "com.mysql.cj.jdbc.Driver";String dbURL = "jdbc:mysql://localhost:3306/mysql?useSSL=false&serverTimezone=UTC";String userName = "root";String userPwd = "root"; try {Class.forName(driverName);Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("学号姓名连接 MySQL 数据库测试成功");dbConn.close();} catch (Exception e) {e.printStackTrace();System.out.println("连接失败");}}
}

创建表:

package exp_6_1;import java.sql.*;public class StudentDataEntry {public static void main(String[] args) {String driverName = "com.mysql.cj.jdbc.Driver";String dbURL = "jdbc:mysql://localhost:3306/student_db?useSSL=false&serverTimezone=UTC";String userName = "root";String userPwd = "root";try {Class.forName(driverName);try (Connection conn = DriverManager.getConnection(dbURL, userName, userPwd);Statement stmt = conn.createStatement()) {stmt.executeUpdate("CREATE DATABASE IF NOT EXISTS student_db");stmt.executeUpdate("USE student_db");String createTableSQL = "CREATE TABLE IF NOT EXISTS Students (" +"StudentID VARCHAR(10) PRIMARY KEY, " +"Name VARCHAR(20) NOT NULL, " +"Class VARCHAR(20), " +"Course1 FLOAT, " +"Course2 FLOAT, " +"Course3 FLOAT, " +"Course4 FLOAT, " +"Course5 FLOAT)";stmt.executeUpdate(createTableSQL);stmt.executeUpdate("TRUNCATE TABLE Students");String[] insertSQLs = {"INSERT INTO Students VALUES ('2023001', '张三', '计算机1班', 85.5, 92.0, 78.5, 88.0, 95.5)","INSERT INTO Students VALUES ('2023002', '李四', '计算机1班', 76.0, 89.5, 92.5, 84.0, 79.5)","INSERT INTO Students VALUES ('2023003', '王五', '计算机2班', 92.5, 88.0, 76.5, 95.0, 81.0)","INSERT INTO Students VALUES ('2023004', '赵六', '计算机2班', 79.0, 85.5, 90.0, 77.5, 93.5)","INSERT INTO Students VALUES ('2023005', '钱七', '软件1班', 88.5, 77.0, 84.5, 91.0, 86.5)","INSERT INTO Students VALUES ('2023006', '孙八', '软件1班', 94.0, 83.5, 79.0, 86.5, 90.0)","INSERT INTO Students VALUES ('2023007', '周九', '软件2班', 81.5, 90.0, 87.5, 82.0, 88.5)","INSERT INTO Students VALUES ('2023008', '吴十', '软件2班', 89.0, 84.5, 93.0, 79.5, 85.0)","INSERT INTO Students VALUES ('2023009', '郑十一', '网络1班', 77.5, 91.5, 85.0, 94.5, 80.0)","INSERT INTO Students VALUES ('2023010', '王十二', '网络1班', 83.0, 78.5, 89.0, 87.5, 92.0)"};for (String sql : insertSQLs) {stmt.executeUpdate(sql);}System.out.println("10名学生数据插入成功!");// 7. 查询并显示插入的数据System.out.println("\n学生数据列表:");ResultSet rs = stmt.executeQuery("SELECT * FROM Students");while (rs.next()) {System.out.printf("学号: %s, 姓名: %s, 班级: %s, 课程1: %.1f, 课程2: %.1f, 课程3: %.1f, 课程4: %.1f, 课程5: %.1f%n",rs.getString("StudentID"),rs.getString("Name"),rs.getString("Class"),rs.getFloat("Course1"),rs.getFloat("Course2"),rs.getFloat("Course3"),rs.getFloat("Course4"),rs.getFloat("Course5"));}}} catch (ClassNotFoundException | SQLException e) {e.printStackTrace();System.out.println("操作失败: " + e.getMessage());}}
}

在数据库文件夹的data的目录中新建目录:student_db之后,运行Java程序代码。
建表成功的标志是访问可以成功访问数据库中的table和表,并打印表中的数据

查看表中的内容:

命令行窗口:

可以使用MySQL的内置命令查看表中的内容

mysql -u root -p root//账号密码
show databases;
use student_db;
show tables;
select * from students;

图形化界面:

图形化界面可以参考下面这篇文章:
Navicat下载
示例

http://www.xdnf.cn/news/12291.html

相关文章:

  • Rocketmq消息队列 消息模型 详解
  • [蓝桥杯]全球变暖
  • Filebeat收集nginx日志到elasticsearch,最终在kibana做展示(二)
  • Next-AI聊天应用-复用chat组件
  • 数据炼金术:电商突围的智能决策革命
  • [闭源saas选项]Pinecone:为向量数据库而生的实时语义搜索引擎
  • OMS主动运维服务:赋能中小企业运维价值升级
  • Java类加载过程
  • 使用子树合并策略更新git项目的部分目录
  • ignore文件不生效的问题
  • 初识硬编码(x86指令描述)
  • 代码随想录算法训练营第九天| 151.翻转字符串里的单词、55.右旋转字符串 、字符串总结
  • CLIP多模态大模型的优势及其在边缘计算中的应用
  • 实时云渲染解决UE像素流送无法进行二次开发的问题
  • spring注解之配置注解
  • 《图解技术体系》How Redis Architecture Evolves?
  • 【科研绘图系列】R语言绘制和弦图(Chord diagram plot)
  • 大模型数据流处理实战:Vue+NDJSON的Markdown安全渲染架构
  • 高防服务器能够抵御哪些网络攻击呢?
  • 宠物空气净化器哪个好用?2025宠物空气净化器测评:352、希喂、有哈
  • 智慧园区数字孪生全链交付方案:降本增效30%,多案例实践驱动全周期交付
  • 基于正点原子阿波罗F429开发板的LWIP应用(5)——TFTP在线升级功能
  • Spring之事务管理方式
  • Go中的协程并发和并发panic处理
  • GitHub 趋势日报 (2025年06月04日)
  • Linux --环境变量,虚拟地址空间
  • 强化学习在LLM中应用:RLHF、DPO
  • 网络通信核心概念全解析:从IP地址到TCP/UDP实战
  • 面试题:Java多线程并发
  • JAVA之 Lambda