首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

主流資料庫 JDBC 驅動類別與連線 URL 完整速查表

     編輯:Java 相關知識

快速參考總表

資料庫驅動類別JDBC URL 格式預設埠號驅動 JAR (典型)
Oracleoracle.jdbc.OracleDriverjdbc:oracle:thin:@host:port:SID1521ojdbc8.jar / ojdbc11.jar
MySQLcom.mysql.cj.jdbc.Driverjdbc:mysql://host:port/db?useSSL=false&serverTimezone=UTC3306mysql-connector-java-8.x.jar
PostgreSQLorg.postgresql.Driverjdbc:postgresql://host:port/db5432postgresql-42.x.jar
SQL Servercom.microsoft.sqlserver.jdbc.SQLServerDriverjdbc:sqlserver://host:port;databaseName=db1433mssql-jdbc-12.x.jar
MariaDBorg.mariadb.jdbc.Driverjdbc:mariadb://host:port/db3306mariadb-java-client-3.x.jar
DB2com.ibm.db2.jcc.DB2Driverjdbc:db2://host:port/db50000db2jcc4.jar
SQLiteorg.sqlite.JDBCjdbc:sqlite:/path/to/dbfileN/Asqlite-jdbc-3.x.jar
H2org.h2.Driverjdbc:h2:~/test 或 jdbc:h2:mem:testN/Ah2-2.x.jar

詳細配置範例

Oracle (Thin Driver)

// SID 格式 (傳統)
jdbc:oracle:thin:@192.168.1.100:1521:ORCL

// Service Name 格式 (推薦 12c+)
jdbc:oracle:thin:@//192.168.1.100:1521/PDB1.example.com

// RAC 叢集
jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=node1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=node2)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)))

MySQL 8.x 關鍵參數

jdbc:mysql://localhost:3306/mydb?
    useSSL=false&
    serverTimezone=Asia/Taipei&
    characterEncoding=UTF-8&
    allowPublicKeyRetrieval=true&
    rewriteBatchedStatements=true&
    connectionTimeout=5000
  • rewriteBatchedStatements=true:大幅提升批次插入效能
  • useSSL=false:開發環境避免憑證錯誤
  • serverTimezone:必須指定,避免時區解析錯誤

SQL Server 命名實例連線

// 預設實例
jdbc:sqlserver://localhost:1433;databaseName=mydb

// 命名實例 (動態埠)
jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;databaseName=mydb

// 整合驗證 (Windows)
jdbc:sqlserver://localhost;databaseName=mydb;integratedSecurity=true

PostgreSQL 進階參數

jdbc:postgresql://localhost:5432/mydb?
    currentSchema=public&
    prepareThreshold=5&
    preferQueryMode=simple&
    sslmode=disable

連線池整合配置 (HikariCP 範例)

# application.properties (Spring Boot)
spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.jdbc-url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC
spring.datasource.hikari.username=root
spring.datasource.hikari.password=secret
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=300000
spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.pool-name=MyAppPool

常見問題排查

錯誤現象可能原因解決方案
ClassNotFoundException驅動 JAR 未在 classpathMaven/Gradle 加入正確依賴
Communications link failure網路不通/防火牆/埠號錯誤telnet host port 測試連通性
Unknown database資料庫名稱錯誤/大小寫敏感確認資料庫存在、檢查 lower_case_table_names
Access denied帳號密碼錯誤/權限不足GRANT ALL ON db.* TO 'user'@'%'; FLUSH PRIVILEGES;
SSLHandshakeExceptionMySQL 8+ 預設要求 SSLURL 加 useSSL=false 或配置信任憑證
Timezone 解析錯誤MySQL 時區未設定URL 加 serverTimezone=Asia/Taipei

驅動下載官方連結

版本相容性提醒

⚠️ 重要:驅動版本必須與資料庫伺服器版本相容

  • MySQL 8.0 需用 mysql-connector-java 8.x (類別名稱變更為 com.mysql.cj.jdbc.Driver)
  • Oracle 19c/21c 建議用 ojdbc11.jar (支援 JDK 11+)
  • SQL Server 2019+ 需用 mssql-jdbc 9.x+
  • PostgreSQL 14+ 需用 42.3.0+
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved