新聞中心
今天我們一起入門JDBC

目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、莒縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
1)什么是JDBC
JDBC(Java DataBase Connectivity)就是 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),沒有驅(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)往往不是開源免費(fèi)的!
JDBC的開發(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ù)的過程中,使用的字節(jié)集是 Unicode 字節(jié)集;
characherEncoding 參數(shù)指定穿上連接數(shù)據(jù)庫(kù)的過程中,使用的字節(jié)集編碼為 UTF-8 編碼。
注意:
mysql 中指定 UTF-8 編碼是給出的是 UTF8,而不是 UTF-8。要小心了!
3)獲取SQl語(yǔ)句的執(zhí)行對(duì)象
在得到 Connectoin 之后,說(shuō)明已經(jīng)與數(shù)據(jù)庫(kù)連接上了,下面是通過Connection 獲取 Statement 對(duì)象的代碼:
Statement st = 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(int col),獲得任意對(duì)象
getString(int col),獲得字符串
getInt(int col),獲得整形
getDouble(int col),獲得雙精度浮點(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àn)在來(lái)測(cè)試一下代碼
今天先到這里了~
后面的知識(shí)
我們下次再說(shuō)了
當(dāng)前文章:Java學(xué)習(xí):MySQL數(shù)據(jù)庫(kù)之JDBC入門
新聞來(lái)源:http://m.fisionsoft.com.cn/article/dhegpic.html


咨詢
建站咨詢
