一個(gè)Java項(xiàng)目和數(shù)據(jù)庫(kù)進(jìn)行交互是十分關(guān)鍵,本篇文章將為您簡(jiǎn)單的介紹如何通過(guò)IntelliJ IDEA這款軟件實(shí)現(xiàn)Java連接MySQL數(shù)據(jù)庫(kù)的具體操作過(guò)程。
安裝MySQL驅(qū)動(dòng)步驟
工具:
IntelliJ IDEA
MySQL8.0.18
MySQL連接驅(qū)動(dòng):mysql-connector-java-8.0.23.jar
連接MySQL需要下載驅(qū)動(dòng)
選擇Platform Independent
點(diǎn)擊Download
點(diǎn)擊No thanks, just start my download.
自動(dòng)開(kāi)始下載
解壓ZIP,復(fù)制出mysql-connector-java-8.0.23.jar文件(選擇自己想要放入的路徑)
打開(kāi)IDEA
(由于安裝了漢化包,英文版的用戶可以對(duì)應(yīng)圖標(biāo)來(lái)操作)
選中菜單欄文件,之后選擇項(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文件
打上勾
外部庫(kù)已經(jīng)顯示mysql-connector-java-8.0.23.jar
添加驅(qū)動(dòng)步驟結(jié)束?。。?/p>
下面開(kāi)始連接MySQL
導(dǎo)包操作
import java.sql.*;
定義JDBC驅(qū)動(dòng)名、數(shù)據(jù)庫(kù)URL,用戶名,密碼
MySQL 8.0 以下版本 - JDBC 驅(qū)動(dòng)名及數(shù)據(jù)庫(kù) 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ū)動(dòng)名及數(shù)據(jù)庫(kù) 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";
這里要說(shuō)明一下數(shù)據(jù)庫(kù) URL
java 無(wú)論是通過(guò) JDBC 或是 使用其他的工具連接 mysql 數(shù)據(jù)庫(kù)時(shí),連接 URL 帶上一定的參數(shù),可以解決很多的問(wèn)題。
不帶參數(shù)的URL格式如下:
jdbc:mysql://localhost:3306/數(shù)據(jù)庫(kù)名
有用的參數(shù)如下:
1.解決數(shù)據(jù)亂碼的問(wèn)題,加參數(shù):characterEncoding=utf-8
2.打開(kāi)mysql存儲(chǔ)批量數(shù)據(jù)的開(kāi)關(guān)
如果不打開(kāi)存儲(chǔ)批量數(shù)據(jù)開(kāi)關(guān),存儲(chǔ)數(shù)據(jù)會(huì)相當(dāng)慢,需要在 URL 中加入?yún)?shù):rewriteBatchedStatement = true
加入這兩個(gè)參數(shù)后,url 的完整格式為:
jdbc:mysql://localhost:3306/數(shù)據(jù)庫(kù)名?characterEncoding=utf-8&rewriteBatchedStatement=true
數(shù)據(jù)庫(kù)的用戶名與密碼,需要根據(jù)自己的設(shè)置
static final String USER = "root";
static final String PASS = "root";
連接數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù):
以下實(shí)例使用了 JDBC 連接 MySQL 數(shù)據(jù)庫(kù),注意一些數(shù)據(jù)如用戶名,密碼需要根據(jù)你的開(kāi)發(fā)環(huán)境來(lái)配置:
package MySQLTest;
import java.sql.*;
public class Test {
// MySQL 8.0 以上版本 - JDBC 驅(qū)動(dòng)名及數(shù)據(jù)庫(kù) 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ù)庫(kù)的用戶名與密碼,需要根據(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{
// 注冊(cè) JDBC 驅(qū)動(dòng)
Class.forName(JDBC_DRIVER);
// 打開(kāi)鏈接
System.out.println("連接數(shù)據(jù)庫(kù)...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 執(zhí)行查詢
System.out.println(" 實(shí)例化Statement對(duì)象...");
stmt = conn.createStatement();
String sql;
sql = "SELECT * FROM lcztest";
ResultSet rs = stmt.executeQuery(sql);
// 展開(kāi)結(jié)果集數(shù)據(jù)庫(kù)
while(rs.next()){
// 通過(guò)字段檢索
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 錯(cuò)誤
se.printStackTrace();
}catch(Exception e){
// 處理 Class.forName 錯(cuò)誤
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ù)庫(kù)結(jié)束!");
}
}
運(yùn)行:
教程到此結(jié)束?。?!
總結(jié)
到此這篇關(guān)于通過(guò)IntelliJ IDEA軟件實(shí)現(xiàn)Java項(xiàng)目連接MySQL的詳細(xì)過(guò)程的文章就介紹到這了,想要了解更多相關(guān)Java和IDEA軟件的其他內(nèi)容請(qǐng)搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持!