Java使用IntelliJ IDEA連接MySQL的詳細教程
本文將使用IntelliJ IDEA演示教程
安裝MySQL驅(qū)動步驟
工具:
IntelliJ IDEA

MySQL8.0.18

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

連接MySQL需要下載驅(qū)動
選擇Platform Independent

點擊Download

點擊No thanks, just start my download.

自動開始下載

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

打開IDEA
(由于安裝了漢化包,英文版的用戶可以對應圖標來操作)
選中菜單欄文件,之后選擇項目結(jié)構(gòu)

選擇Libraries

點擊+

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

添加成功

點擊Modules

點擊Dependencies,然后點擊+

選擇JARs or directories...

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

打上勾

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

添加驅(qū)動步驟結(jié)束!?。?/p>
下面開始連接MySQL
導包操作
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ù)會相當慢,需要在 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ù)庫:

以下實例使用了 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(" 實例化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("\n");
}
// 完成后關(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é)束!");
}
}
運行:

教程到此結(jié)束?。?!
總結(jié)
到此這篇關(guān)于Java使用IntelliJ IDEA連接MySQL的文章就介紹到這了,更多相關(guān)Java IDEA連接MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java使用Callable和Future創(chuàng)建線程操作示例
這篇文章主要介紹了Java使用Callable和Future創(chuàng)建線程操作,結(jié)合實例形式分析了java使用Callable接口和Future類創(chuàng)建線程的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2019-09-09
springboot動態(tài)調(diào)整日志級別的操作大全
這篇文章主要介紹了springboot動態(tài)調(diào)整日志級別的方法,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10
Springboot使用put、delete請求報錯405的處理
這篇文章主要介紹了Springboot使用put、delete請求報錯405的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
java中@JsonValue和@JsonCreator使用
本文主要介紹了java中@JsonValue和@JsonCreator使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-06-06
SpringBoot實現(xiàn)分布式任務調(diào)度的詳細步驟
隨著互聯(lián)網(wǎng)應用的規(guī)模和復雜度不斷增加,單節(jié)點任務調(diào)度系統(tǒng)已經(jīng)難以滿足高并發(fā)、大數(shù)據(jù)量的處理需求,分布式任務調(diào)度成為了解決這一問題的重要手段,本文將介紹如何在Spring Boot中實現(xiàn)分布式任務調(diào)度,需要的朋友可以參考下2024-08-08
Java迭代器實現(xiàn)Python中的range代碼實例
這篇文章主要介紹了Java迭代器實現(xiàn)Python中的range代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03
Java關(guān)鍵字synchronized原理與鎖的狀態(tài)詳解
在Java當中synchronized關(guān)鍵字通常是用來標記一個方法或者代碼塊。本文將通過示例為大家詳細介紹一下Synchronized的各種使用方法,需要的可以參考一下2022-08-08
JDK1.7中HashMap的死循環(huán)問題及解決方案
這篇文章主要為大家介紹了JDK1.7中HashMap的死循環(huán)問題及解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10

