更新時(shí)間:2020-02-07 11:24:01 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2747次
1)什么是JDBC
JDBC(JavaDataBaseConnectivity)就是Java數(shù)據(jù)庫(kù)連接,說(shuō)白了就是用Java語(yǔ)言來(lái)操作數(shù)據(jù)庫(kù)。原來(lái)我們操作數(shù)據(jù)庫(kù)是在控制臺(tái)使用SQL語(yǔ)句來(lái)操作數(shù)據(jù)庫(kù),JDBC是用Java語(yǔ)言向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句。
2)JDBC原理
JDBC是接口,而JDBC驅(qū)動(dòng)才是接口的實(shí)現(xiàn),沒(méi)有驅(qū)動(dòng)無(wú)法完成數(shù)據(jù)庫(kù)連接!每個(gè)數(shù)據(jù)庫(kù)廠商都有自己的驅(qū)動(dòng),用來(lái)連接自己公司的數(shù)據(jù)庫(kù)。
當(dāng)然還有第三方公司專門為某一數(shù)據(jù)庫(kù)提供驅(qū)動(dòng),這樣的驅(qū)動(dòng)往往不是開(kāi)源免費(fèi)的!
JDBC的開(kāi)發(fā)步驟
1)注冊(cè)驅(qū)動(dòng)
注冊(cè)驅(qū)動(dòng)就只有一句話:Class.forName(“com.mysql.jdbc.Driver”)
有時(shí)間的小伙伴自己去查一下資料吧~
2)獲取連接
獲取連接的也只有一句代碼:DriverManager.getConnection(url,username,password)。
其中username和password是你登錄數(shù)據(jù)庫(kù)的用戶名和密碼。
url是用來(lái)找到數(shù)據(jù)庫(kù)地址。
mysql的url為:
jdbc:mysql://localhost:3306/mysql_2。
JDBC規(guī)定url的格式由三部分組成,每個(gè)部分中間使用冒號(hào)分隔。
第一部分是jdbc,這是固定的;
第二部分是數(shù)據(jù)庫(kù)名稱,那么連接mysql數(shù)據(jù)庫(kù),第二部分就是mysql;
第三部分是由數(shù)據(jù)庫(kù)廠商規(guī)定的,我們需要了解每個(gè)數(shù)據(jù)庫(kù)廠商的要求,mysql的第三部分分別由數(shù)據(jù)庫(kù)服務(wù)器的IP地址(localhost)、端口號(hào)(3306),以及需要連接的數(shù)據(jù)庫(kù)的名稱組成。
還可以在url中添加參數(shù)如下:
jdbc:mysql://localhost:3306/mysql_2?useUnicode=true&characterEncoding=UTF8
useUnicode參數(shù)指定這個(gè)連接數(shù)據(jù)庫(kù)的過(guò)程中,使用的字節(jié)集是Unicode字節(jié)集;
characherEncoding參數(shù)指定穿上連接數(shù)據(jù)庫(kù)的過(guò)程中,使用的字節(jié)集編碼為UTF-8編碼。
注意:
mysql中指定UTF-8編碼是給出的是UTF8,而不是UTF-8。要小心了!
3)獲取SQl語(yǔ)句的執(zhí)行對(duì)象
在得到Connectoin之后,說(shuō)明已經(jīng)與數(shù)據(jù)庫(kù)連接上了,下面是通過(guò)Connection獲取Statement對(duì)象的代碼:
Statementst=con.createStatement();
Statement是用來(lái)向數(shù)據(jù)庫(kù)發(fā)送要執(zhí)行的SQL語(yǔ)句的!
執(zhí)行SQL語(yǔ)句:
executeUpdate()
執(zhí)行insert、update、delete語(yǔ)句(DML語(yǔ)句)。
executeQuery()
執(zhí)行select語(yǔ)句(DQL語(yǔ)句)。
execute()方法的返回值是boolean類型的。
執(zhí)行select語(yǔ)句返回true,需要使用getResultSet()獲取查詢結(jié)果。
執(zhí)行其他語(yǔ)句返回false,需要使用getUpdateCount()獲得影響的行數(shù)。
4)處理結(jié)果集
在ResultSet類中提供了一系列的getXXX()方法,比較常用的方法有:
getObject(intcol),獲得任意對(duì)象
getString(intcol),獲得字符串
getInt(intcol),獲得整形
getDouble(intcol),獲得雙精度浮點(diǎn)型
5)釋放資源
與IO流一樣,使用后的資源都需要關(guān)閉!關(guān)閉的順序是先得到的后關(guān)閉,后得到的先關(guān)閉。
rs.close();
stmt.close();
con.close();
上面的這些內(nèi)容看的有點(diǎn)蒙
那么現(xiàn)在操作一下:
1)導(dǎo)入mysql數(shù)據(jù)庫(kù)的驅(qū)動(dòng)jar包:
mysql-connector-java-5.1.39-bin.jar;
按照上面介紹的步驟編寫(xiě)代碼:
現(xiàn)在來(lái)測(cè)試一下代碼
數(shù)據(jù)庫(kù)相關(guān)視頻教程
oracle數(shù)據(jù)庫(kù)教程:http://www.dabaquan.cn/v22/
數(shù)據(jù)庫(kù)plsql教程:http://www.dabaquan.cn/v23/
jdbc數(shù)據(jù)庫(kù)教程:http://www.dabaquan.cn/v24/
數(shù)據(jù)庫(kù)mysql教程:http://www.dabaquan.cn/v21
Java實(shí)戰(zhàn)項(xiàng)目視頻之egov項(xiàng)目視頻教程【免費(fèi)下載】:http://www.dabaquan.cn/v83/
Java學(xué)生成績(jī)管理系統(tǒng)視頻教程【免費(fèi)下載】:http://www.dabaquan.cn/v51/
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java數(shù)據(jù)庫(kù)基礎(chǔ)教程JDBC入門”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)內(nèi)容
Java編程學(xué)習(xí):MySQL數(shù)據(jù)庫(kù)的學(xué)習(xí)路線
2020年Java數(shù)據(jù)庫(kù)筆試題大全
Java數(shù)據(jù)庫(kù)入門學(xué)習(xí),mysql書(shū)籍推薦
學(xué)習(xí)Java數(shù)據(jù)庫(kù)增刪查改通用方法
Java學(xué)習(xí):數(shù)據(jù)庫(kù)學(xué)習(xí)條件查詢和排序
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)