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

JDBC 連線遠端資料庫實戰:從驅動載入到資源關閉的標準範本

     編輯:Java 綜合教學

JDBC 連線遠端資料庫實戰:從驅動載入到資源關閉的標準範本

連線遠端 MySQL 資料庫僅需修改 JDBC URL 的主機與埠號。本文提供完整可運行範例,涵蓋驅動註冊、連線獲取、Statement 查詢、結果集遍歷與資源釋放的標準流程。

完整代碼範例

package com.test;

import java.sql.*;

public class JdbcTest {
    public static void main(String[] args) throws SQLException {
        // 1. 註冊驅動 (JDBC 4.0+ 可省略,Class.forName 亦可)
        DriverManager.registerDriver(new com.mysql.jdbc.Driver());

        // 2. 獲取連線 - 關鍵:IP:Port/Database
        String url = "jdbc:mysql://10.27.104.176:3306/mydatabase";
        Connection conn = DriverManager.getConnection(url, "root", "mysql");

        // 3. 建立 Statement
        Statement st = conn.createStatement();

        // 4. 執行查詢
        ResultSet rs = st.executeQuery("SELECT * FROM apparatus_info");

        // 5. 處理結果集
        while (rs.next()) {
            System.out.println("欄位1: " + rs.getObject(1));
            System.out.println("欄位2: " + rs.getObject(2));
        }

        // 6. 關閉資源 (逆序:ResultSet → Statement → Connection)
        rs.close();
        st.close();
        conn.close();
    }
}

關鍵點解析

步驟關鍵說明
URL 格式jdbc:mysql://:/?useSSL=false&serverTimezone=UTC(建議加參數避免時區/SSL 警告)
驅動類MySQL 8.0+ 為 com.mysql.cj.jdbc.Driver,舊版 com.mysql.jdbc.Driver
防注入實務務必使用 PreparedStatement 替代 Statement
資源關閉JDK 7+ 建議使用 try-with-resources 自動關閉

進階版:try-with-resources 自動資源管理

public static void main(String[] args) {
    String url = "jdbc:mysql://10.27.104.176:3306/mydatabase?useSSL=false&serverTimezone=UTC";
    String sql = "SELECT * FROM apparatus_info";

    try (Connection conn = DriverManager.getConnection(url, "root", "mysql");
         PreparedStatement ps = conn.prepareStatement(sql);
         ResultSet rs = ps.executeQuery()) {

        while (rs.next()) {
            System.out.println(rs.getObject(1) + " | " + rs.getObject(2));
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

生產環境必備:連線池

頻繁建立/關閉連線開銷極大,必須引入 HikariCP、Druid 或 DBCP2。以 HikariCP 為例:

HikariConfig config = new HikariConfig();
config.setJdbcUrl(url);
config.setUsername("root");
config.setPassword("mysql");
config.setMaximumPoolSize(20);
DataSource ds = new HikariDataSource(config);

// 使用時
try (Connection conn = ds.getConnection()) { ... }

掌握 JDBC 基礎流程,是理解上層 ORM 框架(MyBatis、JPA/Hibernate)運作機制的前提。

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