JDBC連接MYSQL分步詳解
什么是JDBC?
Java數(shù)據(jù)庫連接,(Java Database Connectivity,簡稱JDBC)是Java語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。JDBC也是Sun Microsystems的商標。我們通常說的JDBC是面向關系型數(shù)據(jù)庫的。
在MAVEN中引入驅(qū)動
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
</dependencies>連接數(shù)據(jù)庫并測試
連接數(shù)據(jù)庫分為以下幾步:
- 加載驅(qū)動
- 建立數(shù)據(jù)庫連接
- 執(zhí)行相關的語句
- 關閉連接
加載驅(qū)動
在JDBC8中其實會自動加載,這里還是按規(guī)范演示一下。 代碼如下:
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
var a = Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println(a);
}
}結(jié)果:驅(qū)動加載成功

建立數(shù)據(jù)庫連接
代碼:
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
//加載驅(qū)動
var a = Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println(a);
//連接數(shù)據(jù)庫 localhost是連接本地IP,3307是數(shù)據(jù)庫的端口,一般端口默認是3306,這里我的端口改過參考一下就可以。
//test 是要連接的數(shù)據(jù)庫名,root是賬號,我沒有設置密碼所以不用寫。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test?user=root");
System.out.println(conn);
}
}結(jié)果:

執(zhí)行查詢語句
代碼:
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
//加載驅(qū)動
var a = Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println(a);
//連接數(shù)據(jù)庫 localhost是連接本地IP,3307是數(shù)據(jù)庫的端口,一般端口默認是3306,這里我的端口改過參考一下就可以。
//test 是要連接的數(shù)據(jù)庫名,root是賬號,我沒有設置密碼所以不用寫。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test?user=root");
System.out.println(conn);
//創(chuàng)建SQL語句執(zhí)行工具
Statement st = conn.createStatement();
//ResultSet的意思是結(jié)果集,查詢返回的結(jié)果放在ResultSet對象中,結(jié)果集中有一個光標每次只指一行,并且是從第一行開始
ResultSet rs = st.executeQuery("select * from user");
//判斷當前列是否有值
//rs.next()rs中的光標向下移動一位
while (rs.next()) {
//rs.getString將當前列作為String類型保存,參數(shù)為當前列的標簽
System.out.println(rs.getString("name"));
}
}
}結(jié)果:

關閉數(shù)據(jù)庫連接
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
//加載驅(qū)動
var a = Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println(a);
//連接數(shù)據(jù)庫 localhost是連接本地IP,3307是數(shù)據(jù)庫的端口,一般端口默認是3306,這里我的端口改過參考一下就可以。
//test 是要連接的數(shù)據(jù)庫名,root是賬號,我沒有設置密碼所以不用寫。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test?user=root");
System.out.println(conn);
//創(chuàng)建SQL語句執(zhí)行工具
Statement st = conn.createStatement();
//查詢sql語句返回一個ResultSet對象
ResultSet rs = st.executeQuery("select * from user");
//判斷當前列是否有值
//rs.next()rs中的光標向下移動一位
while (rs.next()) {
//rs.getString將當前列作為String類型保存,參數(shù)為當前列的標簽
System.out.println(rs.getString("name"));
}
//關閉連接
conn.close();
}
}SQL類型對應的JAVA類型
| SQL類型 | Java類型 |
|---|---|
| CHAR | java.lang.String |
| VARCHAR | java.lang.String |
| LONGVARCHAR | java.lang.String |
| NUMERIC | java.math.BigDecimal |
| DECIMAL | java.math.BigDecimal |
| BIT | boolean |
| TINYINT | byte |
| SMALLINT | short |
| INTEGER | int |
| BIGINT | long |
| REAL | float |
| FLOAT | double |
| DOUBLE | double |
| BINARY | byte[] |
| VARBINARY | byte[] |
| LONGVARBINARY | byte[] |
| DATE | java.sql.Date |
| TIME | java.sql.Time |
| TIMESTAMP | java.sql.Timestamp |
| BLOB | java.sql.Blob |
| CLOB | java.sql.Clob |
| Array | java.sql.Array |
| REF | java.sql.Ref |
| Struct | java.sql.Struct |
到此這篇關于JDBC連接MYSQL分步詳解的文章就介紹到這了,更多相關JDBC 連接 MYSQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
idea2023遠程調(diào)試springboot的過程詳解
這篇文章主要介紹了idea2023遠程調(diào)試,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
Java 判斷字符串a(chǎn)和b是否互為旋轉(zhuǎn)詞
本篇文章主要介紹了判斷字符串a(chǎn)和b是否互為旋轉(zhuǎn)詞的相關知識,具有很好的參考價值。下面跟著小編一起來看下吧2017-05-05
詳解基于spring多數(shù)據(jù)源動態(tài)調(diào)用及其事務處理
本篇文章主要介紹了基于spring多數(shù)據(jù)源動態(tài)調(diào)用及其事務處理 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
Java實現(xiàn)獲取控制臺輸出結(jié)果轉(zhuǎn)換為變量的詳細操作
在Java編程中,有時需將控制臺的輸出捕獲為字符串,以便于后續(xù)的處理或測試,這種需求在日志記錄、單元測試或調(diào)試時尤為常見,下面,將通過詳細步驟來介紹如何使用ByteArrayOutputStream和PrintStream來實現(xiàn)這一功能,需要的朋友可以參考下2024-06-06
運行Springboot測試類查詢數(shù)據(jù)庫數(shù)據(jù)顯示白網(wǎng)頁問題及解決方法
Spring Boot應用未能啟動的原因是它沒有找到合適的數(shù)據(jù)庫配置具體來說,它需要一個數(shù)據(jù)源(DataSource),但未能在你的配置中找出,也沒有找到任何嵌入式數(shù)據(jù)庫(H2, HSQL 或 Derby),本文給大家分享運行Springboot測試類查詢數(shù)據(jù)庫數(shù)據(jù)顯示白網(wǎng)頁問題及解決方法,一起看看吧2023-11-11

