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 下载页面
版本选择
- 操作系统:选择 Platform Independent(平台无关)。
- 下载格式:选择 ZIP Archive。
将JDBC驱动文件文件添加到Java项目
- 下载完成后,解压,找到其中后缀为
.jar
的文件。 - 在Java项目下创建
lib
文件夹,lib
文件夹与src
处于同一层目录结构 - 把
.jar
复制粘贴进去。 - 配置Eclipse文件:右键项目 →
Build Path
→Configure 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下载