Java程序?qū)崿F(xiàn)連接數(shù)據(jù)庫
今天學(xué)了如何在程序中導(dǎo)入jar包,并連接數(shù)據(jù)庫進(jìn)行操作,為了夯實(shí)學(xué)習(xí)的內(nèi)容,決定用自己的語言復(fù)盤一下整個過程。
1.在程序中導(dǎo)入jar包
先在程序中新建一個lib文件

在文件夾中找到j(luò)ar包復(fù)制下來
![]()
粘貼到lib文件夾中

然后右鍵mysql-connector-java-8.0.28.jar->add as a library
就導(dǎo)入成功了
2.創(chuàng)建新數(shù)據(jù)庫,建表

右鍵locallhost->新建數(shù)據(jù)庫->這里我取名為qq

右鍵qq下的表->新建表(這里我取名為user)

自己設(shè)置字段,記得加上前綴規(guī)范
然后就可以雙擊uesr填充表格
![]()
下方的“+”為增加對象,“√”為確認(rèn)對象。
3.程序連接數(shù)據(jù)庫
有了表之后,我們就要將我們的Java程序與數(shù)據(jù)庫連接。
先要寫一個類,里面有個主函數(shù),寫下連接語句。

import java.sql.*;
public class Connect {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/qq", "root", "123456");
//這里輸入的是數(shù)據(jù)庫名字qq
Statement state=con.createStatement();
ResultSet rs=state.executeQuery("select * from user");
while (rs.next()){
System.out.println(rs.getString("idx_name"));
}
}
}
①第一步:注冊驅(qū)動 ,先加載數(shù)據(jù)庫的驅(qū)動程序,代碼如下:
Class.forName("com.mysql.jdbc.Driver");
②第二步:獲得連接,連接數(shù)據(jù)庫。
DriverManager是類用來管理數(shù)據(jù)庫中的所有驅(qū)動程序,調(diào)用它的靜態(tài)方法可以getConnection(String url,String user,String password)與數(shù)據(jù)庫建立連接,連接成功會返回connection對象,后面的接口都會依賴于這個接口對象,代碼如下:
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/qq", "root", "123456");
后面填入的是
Connection conn= DriverManager.getConnection(url, user, password);
String url="jdbc:mysql://localhost:3306/數(shù)據(jù)庫名";
String user="數(shù)據(jù)庫使用者";
String password="數(shù)據(jù)庫密碼"; //未設(shè)置密碼時默認(rèn)為123456③第三步:獲得數(shù)據(jù)庫操作對象 。
如果要操作數(shù)據(jù)庫的話,需要發(fā)送sql語句,所以還需要一個向數(shù)據(jù)庫發(fā)送sql語句的對象,這個對象時通過Connection 對象來獲得的。

上圖中有三個這樣的對象
- Statement對象用于執(zhí)行不帶參數(shù)的簡單sql語句;
- PreparedStatement繼承了Statement,用來執(zhí)行動態(tài)的sql語句;
- CallableStatement繼承了PreparedStatement,用于執(zhí)行存儲過程的。
這里我們用statement接口,代碼如下:
Statement state=con.createStatement();
有了發(fā)送sql語句的對象,就可以寫sql語句了
④第四步:返回結(jié)果集。
statement對象用于執(zhí)行不帶參數(shù)的簡單sql語句,所以用于查詢語句,它會返回一個ResultSet對象,是一個結(jié)果集。這個時候我們就可以通過ResuleSet對象操作數(shù)據(jù)庫內(nèi)容。
ResultSet接口類似于一個臨時表,用來暫時存放你從數(shù)據(jù)庫要回來的數(shù)據(jù)

ResultSet對象是一個結(jié)果集,類似于一個二維的矩陣吧,它一次只可以看到結(jié)果集的一行數(shù)據(jù),所以他會有一個指針,一開始指向第一行數(shù)據(jù)的前面一行(不是指向第一行數(shù)據(jù)),然后調(diào)用它的next()方法可以使指針往下移動一行
查詢語句: ResultSet rs=state.executeQuery("select * from 表名");
例如我們得到了表返回于ResuleSet對象rs中后,可以用rs調(diào)用方法,輸出我user表中,idx_name中的內(nèi)容!

ok?。。?!
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解JavaEE使用過濾器實(shí)現(xiàn)登錄(用戶自動登錄 安全登錄 取消自動登錄黑用戶禁止登錄)
主要介紹用戶的自動登錄和取消自動登錄,以及實(shí)現(xiàn)一天自動登錄或者n天實(shí)現(xiàn)自動登錄,當(dāng)用戶ip被加入到黑名單之后,直接利用過濾器返回一個警告頁面。接下來通過本文給大家介紹JavaEE使用過濾器實(shí)現(xiàn)登錄的相關(guān)知識,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
springboot v2.0.3版本多數(shù)據(jù)源配置方法
這篇文章主要介紹了springboot v2.0.3版本多數(shù)據(jù)源配置方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2018-11-11
Java 實(shí)用工具類Spring 的 StopWatch常用方法
StopWatch 是 Spring 框架中極其實(shí)用的開發(fā)輔助工具,它為性能分析和調(diào)試提供了輕量但強(qiáng)大的能力,使用簡單、無需復(fù)雜配置,本文給大家介紹Java 實(shí)用工具類Spring 的 StopWatch常用方法,感興趣的朋友一起看看吧2025-04-04
SpringBoot3整合MyBatis出現(xiàn)異常:Property?'sqlSessionFactory&a
這篇文章主要介紹了SpringBoot3整合MyBatis報錯:Property?‘sqlSessionFactory‘?or?‘sqlSessionTemplate‘?are?required,其實(shí)不是個大問題,只是自己編碼時遇到了,然后總結(jié)總結(jié)分享一下,如果有遇到類似問題的,可以參考一下2022-11-11
Springboot實(shí)現(xiàn)接口傳輸加解密的步驟詳解
這篇文章主要給大家詳細(xì)介紹了Springboot實(shí)現(xiàn)接口傳輸加解密的操作步驟,文中有詳細(xì)的圖文解釋和代碼示例供大家參考,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-09-09

