首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Java 加載 MySQL JDBC 驅動完整配置指南 (Eclipse + Maven)

     編輯:MySQL 綜合教學

Java 加載 MySQL JDBC 驅動完整配置指南 (Eclipse + Maven)

JDBC 驅動是 Java 連接 MySQL 的橋梁。本文覆蓋官網下載、手動導入 JAR、Maven 坐標、Eclipse Build Path 配置、模塊化 (JPMS) 宣告、常見版本兼容性陷阱與驗證代碼。

1. 官網下載

MySQL Connector/J → 選擇 Platform Independent → 下載 mysql-connector-j-8.x.x.zip (8.0+) 或 mysql-connector-java-5.1.x.zip (5.1)。解壓獲取 mysql-connector-j-8.x.x.jar。

2. Maven 依賴 (推薦)

<dependency>
  <groupId>com.mysql</groupId>
  <artifactId>mysql-connector-j</artifactId>
  <version>8.3.0</version> <!-- 或 5.1.49 -->
</dependency>

Maven 會自動下載到本地倉庫並加入 Classpath,無需手動操作。

3. Eclipse 手動導入 (非 Maven 項目)

  1. 專案右鍵 → Build Path → Configure Build Path。
  2. Libraries 標籤 → Add External JARs... → 選擇下載的 JAR。
  3. Apply and Close。

4. 模塊化項目 (Java 9+ module-info.java)

module com.example.app {
  requires com.mysql.cj.jdbc;  -- 自動模塊名
  requires java.sql;
  requires java.logging;
}

5. 驅動類名與 URL 版本差異

版本驅動類URL 前綴備註
8.0+ (Connector/J 8.x)com.mysql.cj.jdbc.Driverjdbc:mysql://預設 SSL、時區需顯式配置
5.1 (Connector/J 5.1)com.mysql.jdbc.Driverjdbc:mysql://已停止維護,建議升級

6. 完整驗證代碼

import java.sql.*;

public class JdbcTest {
  public static void main(String[] args) {
    String url = "jdbc:mysql://localhost:3306/test_db?" +
                 "useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";
    String user = "root";
    String pass = "your_password";

    try (Connection conn = DriverManager.getConnection(url, user, pass);
         Statement stmt = conn.createStatement();
         ResultSet rs = stmt.executeQuery("SELECT VERSION()")) {
      if (rs.next()) {
        System.out.println("MySQL Version: " + rs.getString(1));
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }
}

7. 常見報錯與解決

錯誤原因解決
ClassNotFoundExceptionJAR 不在 ClasspathMaven 依賴 / Eclipse Build Path / java -cp
Communications link failureIP/端口錯、防火牆、bind-addresstelnet host 3306、my.cnf bind-address=0.0.0.0
Public Key Retrieval is not allowed8.0 caching_sha2_passwordURL 加 allowPublicKeyRetrieval=true 或用 mysql_native_password
Server timezone value '...' unrecognized時區不匹配URL 加 serverTimezone=Asia/Shanghai 或 UTC
SSLHandshakeException驅動預設 SSL、服務端無憑證URL 加 useSSL=false (開發) 或配置憑證 (生產)

8. 生產環境建議

  • 使用連接池 HikariCP (Spring Boot 2+ 默認),而非手動管理 Connection。
  • 配合 MyBatis / JdbcTemplate / JPA 簡化樣板代碼。
  • 啟用 rewriteBatchedStatements=true 批次優化。
  • 定期升級驅動版本修復安全漏洞 (CVE)。
JDBC 驅動只是「翻譯官」,連接池才是「管理者」。現代 Java 開發請直接 implementation 'com.zaxxer:HikariCP:5.x' + implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.x',專注業務邏輯而非底層連接管理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved