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

JDBC 連線 DB2、Oracle、MySQL、PostgreSQL 通用範本

     編輯:DB2 教學

完整 Java 範例程式

package com.terac.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class DBTest {
    public static void main(String[] args) {
        try {
            // 通用連線參數
            String user = "user";
            String password = "passWord";

            // --- DB2 ---
            String driver = "com.ibm.db2.jcc.DB2Driver";  // 新版通用驅動
            String url = "jdbc:db2://localhost:50000/sample";
            String sql = "SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1";

            /* --- Oracle ---
            String driver = "oracle.jdbc.OracleDriver";
            String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
            String sql = "SELECT SYSDATE FROM DUAL";
            */

            /* --- MySQL ---
            String driver = "com.mysql.cj.jdbc.Driver";
            String url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC";
            String sql = "SELECT NOW()";
            */

            /* --- PostgreSQL ---
            String driver = "org.postgresql.Driver";
            String url = "jdbc:postgresql://localhost:5432/test";
            String sql = "SELECT CURRENT_TIMESTAMP";
            */

            Class.forName(driver).newInstance();
            Connection conn = DriverManager.getConnection(url, user, password);
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next()) {
                System.out.println(rs.getString(1));
            }

            rs.close();
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

關鍵差異對照表

資料庫驅動類別 (現代版)JDBC URL 格式取得當前時間 SQL
DB2com.ibm.db2.jcc.DB2Driverjdbc:db2://host:port/dbSELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1
Oracleoracle.jdbc.OracleDriverjdbc:oracle:thin:@host:port:sidSELECT SYSDATE FROM DUAL
MySQLcom.mysql.cj.jdbc.Driverjdbc:mysql://host:port/db?optsSELECT NOW()
PostgreSQLorg.postgresql.Driverjdbc:postgresql://host:port/dbSELECT CURRENT_TIMESTAMP

注意事項

  • DB2 舊驅動 COM.ibm.db2.jdbc.Net.DB2Driver 已棄用,請改用 JCC 通用驅動。
  • MySQL 8.0+ 需加 serverTimezone 參數避免時區警告。
  • 生產環境請使用連線池 (HikariCP/Druid) 並外部化配置。
  • 查詢單一值可用 prepareStatement + executeQuery,防止注入。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved