App下載

通過IntelliJ IDEA軟件實(shí)現(xiàn)Java項(xiàng)目連接MySQL的詳細(xì)過程

來源: 詩與彼方 2021-07-19 14:59:45 瀏覽數(shù) (10546)
反饋

一個Java項(xiàng)目和數(shù)據(jù)庫進(jìn)行交互是十分關(guān)鍵,本篇文章將為您簡單的介紹如何通過IntelliJ IDEA這款軟件實(shí)現(xiàn)Java連接MySQL數(shù)據(jù)庫的具體操作過程。

安裝MySQL驅(qū)動步驟

工具:

IntelliJ IDEA

MySQL8.0.18

MySQL連接驅(qū)動:mysql-connector-java-8.0.23.jar

連接MySQL需要下載驅(qū)動

MySQL連接驅(qū)動下載

選擇Platform Independent

2021040710465940

點(diǎn)擊Download


點(diǎn)擊No thanks, just start my download.

20210407104659412021040710465942

自動開始下載

2021040710465943

解壓ZIP,復(fù)制出mysql-connector-java-8.0.23.jar文件(選擇自己想要放入的路徑)


打開IDEA

(由于安裝了漢化包,英文版的用戶可以對應(yīng)圖標(biāo)來操作)

選中菜單欄文件,之后選擇項(xiàng)目結(jié)構(gòu)

2021040710465945

選擇Libraries

2021040710465946

點(diǎn)擊+

2021040710465947

選擇mysql-connector-java-8.0.23.jar文件

2021040710465948

添加成功

2021040710465949

點(diǎn)擊Modules

2021040710470050

點(diǎn)擊Dependencies,然后點(diǎn)擊+

2021040710470051

選擇JARs or directories...

選擇mysql-connector-java-8.0.23.jar文件

2021040710470053

打上勾

外部庫已經(jīng)顯示mysql-connector-java-8.0.23.jar

2021040710470055

添加驅(qū)動步驟結(jié)束?。?!

下面開始連接MySQL

導(dǎo)包操作

import java.sql.*;

定義JDBC驅(qū)動名、數(shù)據(jù)庫URL,用戶名,密碼

MySQL 8.0 以下版本 - JDBC 驅(qū)動名及數(shù)據(jù)庫 URL

  static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
  static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";

MySQL 8.0 以上版本 - JDBC 驅(qū)動名及數(shù)據(jù)庫 URL

 static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; 
 static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";

這里要說明一下數(shù)據(jù)庫 URL

java 無論是通過 JDBC 或是 使用其他的工具連接 mysql 數(shù)據(jù)庫時,連接 URL 帶上一定的參數(shù),可以解決很多的問題。

不帶參數(shù)的URL格式如下:

jdbc:mysql://localhost:3306/數(shù)據(jù)庫名

有用的參數(shù)如下:

1.解決數(shù)據(jù)亂碼的問題,加參數(shù):characterEncoding=utf-8

2.打開mysql存儲批量數(shù)據(jù)的開關(guān)
如果不打開存儲批量數(shù)據(jù)開關(guān),存儲數(shù)據(jù)會相當(dāng)慢,需要在 URL 中加入?yún)?shù):rewriteBatchedStatement = true

加入這兩個參數(shù)后,url 的完整格式為:
jdbc:mysql://localhost:3306/數(shù)據(jù)庫名?characterEncoding=utf-8&rewriteBatchedStatement=true

數(shù)據(jù)庫的用戶名與密碼,需要根據(jù)自己的設(shè)置

static final String USER = "root";
static final String PASS = "root";

連接數(shù)據(jù)庫

數(shù)據(jù)庫:

以下實(shí)例使用了 JDBC 連接 MySQL 數(shù)據(jù)庫,注意一些數(shù)據(jù)如用戶名,密碼需要根據(jù)你的開發(fā)環(huán)境來配置:

package MySQLTest;

import java.sql.*;

public class Test {
  // MySQL 8.0 以上版本 - JDBC 驅(qū)動名及數(shù)據(jù)庫 URL
  static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
  static final String DB_URL = "jdbc:mysql://localhost:3306/lcz?characterEncoding=utf-8&rewriteBatchedStatement=true";
  // 數(shù)據(jù)庫的用戶名與密碼,需要根據(jù)自己的設(shè)置
  static final String USER = "root";
  static final String PASS = "root";

  public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    try{
      // 注冊 JDBC 驅(qū)動
      Class.forName(JDBC_DRIVER);

      // 打開鏈接
      System.out.println("連接數(shù)據(jù)庫...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);

      // 執(zhí)行查詢
      System.out.println(" 實(shí)例化Statement對象...");
      stmt = conn.createStatement();
      String sql;
      sql = "SELECT * FROM lcztest";
      ResultSet rs = stmt.executeQuery(sql);

      // 展開結(jié)果集數(shù)據(jù)庫
      while(rs.next()){
        // 通過字段檢索
        int id = rs.getInt("id");
        String name = rs.getString("name");
        String age = rs.getString("age");

        // 輸出數(shù)據(jù)
        System.out.print("ID: " + id);
        System.out.print(", 姓名: " + name);
        System.out.print(", 年齡: " + age);
        System.out.print("
");
      }
      // 完成后關(guān)閉
      rs.close();
      stmt.close();
      conn.close();
    }catch(SQLException se){
      // 處理 JDBC 錯誤
      se.printStackTrace();
    }catch(Exception e){
      // 處理 Class.forName 錯誤
      e.printStackTrace();
    }finally{
      // 關(guān)閉資源
      try{
        if(stmt!=null) stmt.close();
      }catch(SQLException se2){
      }// 什么都不做
      try{
        if(conn!=null) conn.close();
      }catch(SQLException se){
        se.printStackTrace();
      }
    }
    System.out.println("連接數(shù)據(jù)庫結(jié)束!");
  }
}

運(yùn)行:

2021040710470057

教程到此結(jié)束?。?!

總結(jié)

到此這篇關(guān)于通過IntelliJ IDEA軟件實(shí)現(xiàn)Java項(xiàng)目連接MySQL的詳細(xì)過程的文章就介紹到這了,想要了解更多相關(guān)Java和IDEA軟件的其他內(nèi)容請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持!


1 人點(diǎn)贊