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

Java 連接 Oracle 與 MySQL 數據庫核心代碼範本

     編輯:Java 綜合教學

通用三步驟

  1. 下載驅動 JAR 並加入 classpath
  2. 註冊驅動(JDBC 4.0+ 可省略 Class.forName)
  3. 獲取 Connection 物件

Oracle 連接範本

驅動下載

Maven:

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc11</artifactId>
    <version>23.2.0.0</version>
</dependency>

連接代碼

public Connection getOracleConnection() throws SQLException {
    // 1. 註冊驅動(可選)
    // Class.forName("oracle.jdbc.OracleDriver");

    // 2. 連接字串
    // 格式:jdbc:oracle:thin:@//host:port/service_name
    // 或:jdbc:oracle:thin:@host:port:SID (舊式)
    String url = "jdbc:oracle:thin:@//192.168.1.100:1521/ORCLPDB1";
    String user = "scott";
    String password = "tiger";

    // 3. 獲取連接
    return DriverManager.getConnection(url, user, password);
}

連接池建議

// HikariCP 範例
HikariConfig config = new HikariConfig();
config.setJdbcUrl(url);
config.setUsername(user);
config.setPassword(password);
config.setMaximumPoolSize(20);
config.setMinimumIdle(5);
config.setConnectionTimeout(30000);
config.setIdleTimeout(600000);
config.setMaxLifetime(1800000);
config.addDataSourceProperty("connectionInitSql", "ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'");
HikariDataSource ds = new HikariDataSource(config);

MySQL 連接範本

驅動下載

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.2.0</version>
</dependency>

連接代碼

public Connection getMySQLConnection() throws SQLException {
    // Class.forName("com.mysql.cj.jdbc.Driver"); // 8.0+ 自動載入

    String url = "jdbc:mysql://192.168.1.100:3306/mydb"
        + "?useSSL=false"
        + "&serverTimezone=Asia/Shanghai"
        + "&characterEncoding=utf8"
        + "&allowPublicKeyRetrieval=true"
        + "&rewriteBatchedStatements=true";  // 批次優化
    String user = "root";
    String password = "123456";

    return DriverManager.getConnection(url, user, password);
}

MySQL 8.0+ 關鍵參數說明

參數作用
serverTimezone避免時區警告,推薦 Asia/Shanghai
useSSL=false開發環境關閉 SSL 減少握手
allowPublicKeyRetrieval=true支援 caching_sha2_password 認證
rewriteBatchedStatements=true批次 INSERT 自動重寫為多值語句,大幅提升效能

通用最佳實踐

  • 永遠使用連接池(HikariCP、Druid),避免頻繁建連開銷
  • try-with-resources 自動關閉 Connection/Statement/ResultSet
  • PreparedStatement 防 SQL 注入、利用執行計劃緩存
  • 配置驗證查詢:validationQuery="SELECT 1"、testWhileIdle=true
  • 監控指標:活躍連接數、等待線程數、慢查詢日誌

快速測試類

public class DbTest {
    public static void main(String[] args) {
        try (Connection c = getMySQLConnection();
             Statement s = c.createStatement();
             ResultSet rs = s.executeQuery("SELECT VERSION()")) {
            if (rs.next()) System.out.println("MySQL 版本:" + rs.getString(1));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

保存此範本,新專案複製修改 URL/帳密即可快速上手。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved