𝖄𝕺🌎𝕿𝕽𝕺¥

𝖄𝕺🌎𝕿𝕽𝕺¥

𝕴 𝖉𝖔 𝖒𝖆𝖌𝖎𝖈
github

從0開始基於IDEA實現Java連接MySQL數據庫、JDBC交互實例

目標#

實現 java 和數據庫互動,包括配置 sql 環境,java 庫,簡單例子實現

環境配置#

主機配置:IntelliJ IDEA, SDK18, Windows11

下載:
Connector/J
系統選擇 Platform Independent
connectorJ

MySQL Community 8.0
注意是 mysql-installer-community,不是 mysql-installer-web-community
MySQLCommunity

MySQLCommunity 下載完成後安裝 只需安裝 server,記住信息,設置數據庫帳戶(本例為 <username>, <password>, 圖片為安裝成功後,與安裝過程不同)

mysqlInstaller

IDEA 配置#

MySQL - 創建新數據源 實現連接#

新建項目後,菜單欄 視圖 - 工具窗口 - 數據庫,新建數據源 - 驅動程序下載 MySQL 驅動,記錄類名(如圖為 com.mysql.cj.jdbc.Driver)
mysqldriver

數據源,身份驗證可填寫安裝 MySQL 時的數據庫帳戶,記錄 URL 地址
localhost
下方測試連接檢查 成功 進入下一步

Connector/J 導入至項目庫#

文件 - 項目結構 - 庫,添加剛下載的 connector/J 解壓後的 jar 文件,確定
projectStructure

實現互動#

數據庫#

跳轉至控制台,輸入 MySQL 命令,可參考MySQL 教程:MySQL 數據庫學習寶典(從入門到精通)

sqlkongzhitai

輸入如下代碼:

CREATE DATABASE test; #創建數據庫
USE test; #選擇數據庫進行操作
CREATE TABLE IF NOT EXISTS students (   #創建表students
    id INT NOT NULL PRIMARY KEY ,
    name TEXT NOT NULL ,
    age INT NOT NULL );
INSERT INTO students VALUES (1,'name1',18); #插入數據
INSERT INTO students VALUES (2,'name2',12);
INSERT INTO students VALUES (3,'name3',22);

運行後看到創建完成

Java 類#

新建 Java 類,以下為代碼

import java.sql.*;

public class Test {

    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";//驅動類名
    static final String DB_URL = "jdbc:mysql://localhost:3306";//數據庫URL地址

    static final String USERNAME = "username";//數據庫用戶名
    static final String PASSWORD = "password";//數據庫密碼

    public static void main(String[] args){

        Connection conn = null;
        Statement stat = null;

        try {
            Class.forName(JDBC_DRIVER);
            System.out.println("Connecting...");
            conn = DriverManager.getConnection(DB_URL,USERNAME,PASSWORD);
            stat = conn.createStatement();

            String sql = "SELECT * FROM test.students";//此處為MySQL語句
            ResultSet rs = stat.executeQuery(sql);

            while(rs.next()){//遍歷
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                System.out.println("id = " + id);
                System.out.println("name = " + name);
                System.out.println("age = " + age);
            }

            rs.close();//釋放
            stat.close();
            conn.close();

        } catch (Exception e){
            e.printStackTrace();
        } finally {
            try {
                if (stat!=null) stat.close();
            } catch (SQLException ignored) {
            } try {
                if (conn!=null) conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
            System.out.println("Success!");
        }
    }
}

輸出

Connecting...
id = 1
name = name1
age = 18
id = 2
name = name2
age = 12
id = 3
name = name3
age = 22
Success!
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。