
Java 连接 MySQL 数据库 完整教程最新、最简洁、直接能用的 Java 连接 MySQL 方案包含两种最常用方式原生 JDBC 连接纯代码无需框架Druid 连接池企业常用性能更好一、准备工作1. 导入 MySQL 驱动包必须MySQL 8.0 使用最新驱动xml!-- Maven 依赖直接复制到 pom.xml -- dependency groupIdcom.mysql/groupId artifactIdmysql-connector-j/artifactId version8.0.33/version /dependency非 Maven 项目手动下载 mysql-connector-j.jar 导入项目2. 数据库信息改成你自己的java运行// 数据库地址MySQL 8.0 必须加时区参数 String url jdbc:mysql://localhost:3306/你的数据库名?useSSLfalseserverTimezoneUTCallowPublicKeyRetrievaltrue; String username root; // 你的MySQL用户名 String password 123456; // 你的MySQL密码二、方式 1原生 JDBC 连接最基础完整可运行代码java运行import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class JdbcTest { public static void main(String[] args) { Connection conn null; try { // 1. 加载驱动MySQL 8.0 可以省略自动加载 Class.forName(com.mysql.cj.jdbc.Driver); // 2. 获取连接 String url jdbc:mysql://localhost:3306/testdb?useSSLfalseserverTimezoneUTCallowPublicKeyRetrievaltrue; String user root; String password 123456; conn DriverManager.getConnection(url, user, password); System.out.println(✅ MySQL 连接成功); } catch (ClassNotFoundException e) { System.out.println(❌ 驱动加载失败); e.printStackTrace(); } catch (SQLException e) { System.out.println(❌ 数据库连接失败); e.printStackTrace(); } finally { // 3. 关闭连接 if (conn ! null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }三、方式 2Druid 连接池企业推荐性能更高、资源复用、防止连接泄漏1. 先加 Druid 依赖xmldependency groupIdcom.alibaba/groupId artifactIddruid/artifactId version1.2.20/version /dependency2. Druid 连接代码java运行import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.sql.Connection; import java.util.Properties; public class DruidTest { public static void main(String[] args) { try { // 配置 Properties prop new Properties(); prop.setProperty(driverClassName, com.mysql.cj.jdbc.Driver); prop.setProperty(url, jdbc:mysql://localhost:3306/testdb?useSSLfalseserverTimezoneUTC); prop.setProperty(username, root); prop.setProperty(password, 123456); // 创建连接池 DataSource dataSource DruidDataSourceFactory.createDataSource(prop); // 获取连接 Connection conn dataSource.getConnection(); System.out.println(✅ Druid 连接池连接成功); conn.close(); // 归还连接不是关闭 } catch (Exception e) { e.printStackTrace(); } } }三、常见报错解决方案时区错误必须加参数serverTimezoneUTCPublic Key Retrieval is not allowed加参数allowPublicKeyRetrievaltrue连接被拒绝检查 MySQL 服务是否启动、账号密码是否正确驱动找不到MySQL 8.0 驱动类是com.mysql.cj.jdbc.Driver多了 cj四、JDBC 标准操作步骤增删改查java运行// 1. 获取连接 Connection conn ...; // 2. 创建执行对象 String sql SELECT * FROM user; java.sql.PreparedStatement pstmt conn.prepareStatement(sql); // 3. 执行查询 java.sql.ResultSet rs pstmt.executeQuery(); // 4. 处理结果 while (rs.next()) { System.out.println(rs.getString(name)); } // 5. 关闭资源 rs.close(); pstmt.close(); conn.close();总结MySQL 8.0 驱动是mysql-connector-jURL 必须带时区参数新手用原生 JDBC项目用Druid 连接池记得关闭连接避免资源泄漏