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