JDBC

一。JDBC開(kāi)發(fā)步驟

1)注冊(cè)驅(qū)動(dòng):告訴 Java 我們需要去使用哪個(gè)數(shù)據(jù)庫(kù)?MySQL 和 Oracle

2)獲取連接對(duì)象:使用 JDBC 中提供的功能,獲取一個(gè) Connection 對(duì)象實(shí)例。

3)獲取執(zhí)行者平臺(tái):主要是獲取執(zhí)行 SQL 語(yǔ)句的載體,叫 Statement/preparedStatement 對(duì)象實(shí)例。

4)準(zhǔn)備 SQL 語(yǔ)句:將我們需要執(zhí)行 SQL 字符串語(yǔ)句寫(xiě)好。

5)執(zhí)行 SQL 語(yǔ)句:進(jìn)行增刪改查等相關(guān)操作,還需要接收返回值。

6)處理結(jié)果:多個(gè)學(xué)生 -> 集合,主要是“結(jié)果集”。

7)釋放資源:將完成后的對(duì)象關(guān)閉掉,節(jié)省性能。close() 方法進(jìn)行釋放。


二,JDBC 的環(huán)境搭建

1)添加數(shù)據(jù)庫(kù)的驅(qū)動(dòng)包

如果導(dǎo)入的是 8 版本,需要添加核心包和依賴包。

如果導(dǎo)入的的 5 版本,只需要添加核心包。

2)在工程中,新建一個(gè)叫 lib 的 folder(文件夾)

3)將上面找到的驅(qū)動(dòng)包,直接拖到 lib 路徑下。

4)選中 lib 包中所有的 jar 文件

右鍵 build path -> add to build path...

5)通過(guò)調(diào)用第三方包(也就是上面的驅(qū)動(dòng)包)中提供的實(shí)現(xiàn)類(lèi),來(lái)獲取與數(shù)據(jù)庫(kù)的連接對(duì)象,進(jìn)行數(shù)據(jù)庫(kù)操作。


三 。數(shù)據(jù)的封裝

1)先連接數(shù)據(jù)庫(kù),執(zhí)行SQL語(yǔ)句,獲取數(shù)據(jù)

rs.getString()

rs.getInt()

2)先得有一個(gè)實(shí)體類(lèi),比如 Student。JavaBean、POJO

- 實(shí)現(xiàn)了序列化接口

- 字段

- get、set 方法

- 構(gòu)造器(有參數(shù)、無(wú)參數(shù))

- toString 方法

3)將得到的數(shù)據(jù),通過(guò)實(shí)體類(lèi)的 setXxx() 方法設(shè)置回去對(duì)象中保存。

4)如果需要獲取數(shù)據(jù)的話,則通過(guò)調(diào)用實(shí)體類(lèi)的 getXxx() 方法即可。

框架:別人將一些常用的功能,封裝起來(lái),然后給其他開(kāi)發(fā)者調(diào)用。


四。常見(jiàn)問(wèn)題

1.JDBC 是啥?

JDBC 其實(shí)就是一個(gè)轉(zhuǎn)換接口,主要是我們寫(xiě)好java代碼,然后轉(zhuǎn)成SQL語(yǔ)句,去操作數(shù)據(jù)庫(kù),然后獲取了數(shù)據(jù)之后,接著如何封裝到JAVA類(lèi)中,然后通過(guò)“面向?qū)ο蟆钡乃季S去操作數(shù)據(jù)庫(kù)。

2.next()方法的作用

作用:指針指向下一條記錄,有記錄(有值)返回true并把記錄內(nèi)容存入到對(duì)應(yīng)的對(duì)象中,也就是obj.next()的obj中。如果沒(méi)有返回false。

一般和ResultSet對(duì)象和while循環(huán)一起使用,去迭代結(jié)果集,并在循環(huán)中調(diào)用getXXX(intfieldIndex)/getXXX(String columnName)方法獲取字段值。

過(guò)程:ResultSet對(duì)象具有指向其當(dāng)前數(shù)據(jù)行的指針。開(kāi)始,指針被置于第一行。.next()方法將指針移動(dòng)到下一行,然后while循環(huán)迭代遍歷ResultSet對(duì)象。


五:Statement接口

●用于執(zhí)行靜態(tài)SQL語(yǔ)句并返回他所生成結(jié)果的對(duì)象。

●三種Statement類(lèi)

●Statement:由createStatement創(chuàng)建,用于發(fā)送簡(jiǎn)單的SQL語(yǔ)句。(不帶參數(shù)的)

●PreparedStatement:繼承自Statement接口,由prepareStatement創(chuàng)建,用于發(fā)送含有一個(gè)或多個(gè)輸入?yún)?shù)的SQL語(yǔ)句。PrepareStatement對(duì)象比Statement對(duì)象的效率更高,并且可以防止SQL注入。我們一般都用PreparedStatement。

●CallableStatement:繼承自PreparedStatement,由方法prePareCall創(chuàng)建,用于調(diào)用存儲(chǔ)過(guò)程。

●常用的Statement方法:

●execute():運(yùn)行語(yǔ)句,返回是否由結(jié)果集

●excuteQuery():運(yùn)行select語(yǔ)句,返回ResultSet結(jié)果集。

●executeUpdate():運(yùn)行insert,update,delete操作,返回更新的行數(shù)。

五:Params 計(jì)算機(jī)函數(shù)

params是一個(gè)計(jì)算機(jī)函數(shù),表示函數(shù)的參數(shù)是可變個(gè)數(shù)的,即可變的方法參數(shù),就像 delphl 里 writeln函數(shù)一樣,用于表示類(lèi)型相同,但參數(shù)數(shù)量不確定

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 年初的大雪紛飛灑灑的飄了一夜 門(mén)外白了頭的少年 走著走著就老了 故作深沉的嘆息 又是一年始 天涼了
    煦小魚(yú)閱讀 191評(píng)論 0 0
  • 導(dǎo)語(yǔ) 很多時(shí)候,我們都認(rèn)為管理者的第一要?jiǎng)?wù)是管理下屬,但其實(shí),管理者應(yīng)該管理的首先是自己。只有真正管理好自己的人才...
    陽(yáng)光營(yíng)造閱讀 362評(píng)論 0 0
  • 效果GIF 需求 7個(gè)可拖拽的色塊 1個(gè)固定的隨機(jī)顏色色塊 同色塊則計(jì)分 實(shí)現(xiàn)需要的Widget Draggabl...
    jzhu085閱讀 2,430評(píng)論 0 4
  • SharedPreferences是Android中一個(gè)輕量級(jí)的數(shù)據(jù)存儲(chǔ)類(lèi),適用于保存應(yīng)用程序的配置參數(shù)。當(dāng)使用S...
    shellever閱讀 2,094評(píng)論 0 3
  • 正式的靜坐冥想,是我在福建參加的10天9夜的“內(nèi)觀”旅程。 當(dāng)時(shí),我們的作息時(shí)間是這樣安排的。 晚上9點(diǎn)睡覺(jué),10...
    湯世海_體系學(xué)習(xí)法閱讀 5,164評(píng)論 2 27

友情鏈接更多精彩內(nèi)容