一個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ū)動
選擇Platform Independent
點(diǎn)擊Download
點(diǎn)擊No thanks, just start my download.
自動開始下載
解壓ZIP,復(fù)制出mysql-connector-java-8.0.23.jar文件(選擇自己想要放入的路徑)
打開IDEA
(由于安裝了漢化包,英文版的用戶可以對應(yīng)圖標(biāo)來操作)
選中菜單欄文件,之后選擇項(xiàng)目結(jié)構(gòu)
選擇Libraries
點(diǎn)擊+
選擇mysql-connector-java-8.0.23.jar文件
添加成功
點(diǎn)擊Modules
點(diǎn)擊Dependencies,然后點(diǎn)擊+
選擇JARs or directories...
選擇mysql-connector-java-8.0.23.jar文件
打上勾
外部庫已經(jīng)顯示mysql-connector-java-8.0.23.jar
添加驅(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)行:
教程到此結(jié)束?。?!
總結(jié)
到此這篇關(guān)于通過IntelliJ IDEA軟件實(shí)現(xiàn)Java項(xiàng)目連接MySQL的詳細(xì)過程的文章就介紹到這了,想要了解更多相關(guān)Java和IDEA軟件的其他內(nèi)容請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持!