首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

JDBC 連線 MySQL 四大關鍵步驟:驅動、Classpath、載入、URL

     編輯:MySQL 資料庫相關知識

步驟 1:取得驅動程式

  • Maven:<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency>
  • 手動下載:mysql-connector-java-x.x.xx.jar
  • 驅動類別:com.mysql.cj.jdbc.Driver (8.0+) / com.mysql.jdbc.Driver (5.1)

步驟 2:設定 Classpath

  • IDE:加入 Libraries/Dependencies
  • 命令列執行:java -cp ".:mysql-connector-java-8.0.33.jar" MainClass
  • 環境變數 CLASSPATH(不推薦,污染全域)

步驟 3:載入驅動

try {
    Class.forName("com.mysql.cj.jdbc.Driver");
    System.out.println("MySQL JDBC Driver loaded successfully!");
} catch (ClassNotFoundException e) {
    System.err.println("Driver not found!");
    e.printStackTrace();
}

JDBC 4.0+ (Java 6+):若驅動 JAR 在 classpath,DriverManager 會自動發現(SPI 機制),Class.forName 可省略。

步驟 4:建立連線 URL

jdbc:mysql://host:port/dbname?key1=value1&key2=value2

常用參數

參數說明建議值
useSSL是否使用 SSLfalse (內網) / true (外網)
serverTimezone時區Asia/Taipei / UTC
characterEncoding字元集utf8mb4
autoReconnect自動重連true (慎用,建議連線池處理)
useUnicodeUnicode 支援true
rewriteBatchedStatements批次重寫優化true
cachePrepStmts預處理快取true
prepStmtCacheSize快取大小250
prepStmtCacheSqlLimit單條 SQL 長度限制2048

完整範例

String url = "jdbc:mysql://localhost:3306/my_db?"
    + "useSSL=false&serverTimezone=Asia/Taipei&characterEncoding=utf8mb4"
    + "&rewriteBatchedStatements=true&cachePrepStmts=true";

Connection conn = DriverManager.getConnection(url, "user", "pass");

連線池整合 (HikariCP)

HikariConfig config = new HikariConfig();
config.setJdbcUrl(url);
config.setUsername("user");
config.setPassword("pass");
config.setMaximumPoolSize(20);
config.setMinimumIdle(5);
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("prepStmtCacheSize", "250");
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");

DataSource ds = new HikariDataSource(config);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved