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

Java 連接 MySQL 完整實戰指南:從環境配置到 CRUD 操作

     編輯:Java 程式設計入門

本文以 MySQL 為例,手把手帶你完成 JDK 安裝、驅動配置、數據庫建表、JDBC 連接與查詢的全流程實戰,代碼可直接落地項目。

1. 環境準備

  • JDK:建議 JDK 8+(JAVA_HOME、PATH 配置)
  • MySQL Server:安裝並啟動服務,記住 root 密碼
  • JDBC 驅動:下載 mysql-connector-java(Maven 坐標:mysql:mysql-connector-java:8.0.33)

2. 數據庫與建表腳本

CREATE DATABASE scutcs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE scutcs;

CREATE TABLE student (
    sno     CHAR(7)     NOT NULL COMMENT '學號',
    sname   VARCHAR(20) NOT NULL COMMENT '姓名',
    sex     CHAR(2)     NOT NULL COMMENT '性別',
    bdate   DATE        NOT NULL COMMENT '出生日期',
    height  DECIMAL(5,2) DEFAULT 0.00 COMMENT '身高',
    PRIMARY KEY (sno)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO student VALUES
('0104421','周遠行','男','1990-01-15',175.5),
('0208123','王義平','男','1991-03-22',168.0),
('0209120','王大力','男','1992-07-08',180.2),
('0309119','李 維','女','1993-11-30',160.5),
('0309203','歐陽美林','女','1994-05-18',165.0);

3. JDBC 核心代碼(規範版)

import java.sql.*;

public class JdbcDemo {
    private static final String URL      = "jdbc:mysql://127.0.0.1:3306/scutcs?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8";
    private static final String USER     = "root";
    private static final String PASSWORD = "root";

    public static void main(String[] args) {
        // 1. 註冊驅動(JDBC 4.0+ 可省略 Class.forName)
        // Class.forName("com.mysql.cj.jdbc.Driver");

        // 2. 獲取連接(try-with-resources 自動關閉)
        try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD)) {
            System.out.println("✅ 數據庫連接成功!");

            // 3. 創建 Statement
            try (Statement stmt = conn.createStatement();
                 ResultSet rs = stmt.executeQuery("SELECT sno, sname FROM student")) {

                // 4. 遍歷結果集
                System.out.println("-----------------");
                System.out.println("學號\t姓名");
                System.out.println("-----------------");
                while (rs.next()) {
                    String sno   = rs.getString("sno");
                    String sname = rs.getString("sname");
                    System.out.println(sno + "\t" + sname);
                }
            }
        } catch (SQLException e) {
            System.err.println("❌ 數據庫操作異常:" + e.getMessage());
            e.printStackTrace();
        }
    }
}

4. 關鍵點詳解

連接 URL 參數

  • useSSL=false:禁用 SSL(本地開發常用)
  • serverTimezone=Asia/Shanghai:避免時區警告
  • characterEncoding=utf8:解決中文亂碼

資源管理最佳實踐

  • 使用 try-with-resources 自動關閉 Connection、Statement、ResultSet,防止洩漏。
  • 生產環境務必引入連接池(HikariCP、Druid),複用連接、提升吞吐。

中文編碼處理

舊版驅動需手動轉碼(new String(bytes, "ISO-8859-1"), "GB2312"),新版驅動(5.1.36+ / 8.0+)配合 characterEncoding=utf8 即可自動處理,無需手動干預。

5. 進階擴展

  • PreparedStatement:防 SQL 注入、預編譯優化
  • 事務控制:conn.setAutoCommit(false) + commit()/rollback()
  • 批量操作:addBatch() + executeBatch()

總結

掌握 JDBC 基礎流程是 Java 後端開發的必修課。實際項目中請直接使用成熟連接池 + ORM 框架,但理解底層原理有助於排查疑難雜症與性能調優。

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