Java學(xué)習(xí):MySQL數(shù)據(jù)庫之JDBC入門
今天我們一起入門JDBC
1)什么是JDBC
JDBC(Java DataBase Connectivity)就是 Java 數(shù)據(jù)庫連接,說白了就是用 Java 語言來操作數(shù)據(jù)庫。原來我們操作數(shù)據(jù)庫是在控制臺(tái)使用 SQL 語句來操作數(shù)據(jù)庫,JDBC 是用 Java 語言向數(shù)據(jù)庫發(fā)送 SQL 語句。
2)JDBC原理
JDBC 是接口,而 JDBC 驅(qū)動(dòng)才是接口的實(shí)現(xiàn),沒有驅(qū)動(dòng)無法完成數(shù)據(jù)庫連接!每個(gè)數(shù)據(jù)庫廠商都有自己的驅(qū)動(dòng),用來連接自己公司的數(shù)據(jù)庫。
當(dāng)然還有第三方公司專門為某一數(shù)據(jù)庫提供驅(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ù)庫的用戶名和密碼。
url 是用來找到數(shù)據(jù)庫地址。
mysql 的 url 為:
jdbc:mysql://localhost:3306/mysql_2。
JDBC 規(guī)定 url 的格式由三部分組成,每個(gè)部分中間使用冒號(hào)分隔。
第一部分是 jdbc,這是固定的;
第二部分是數(shù)據(jù)庫名稱,那么連接 mysql 數(shù)據(jù)庫,第二部分就是 mysql;
第三部分是由數(shù)據(jù)庫廠商規(guī)定的,我們需要了解每個(gè)數(shù)據(jù)庫廠商的要求,mysql 的第三部分分別由數(shù)據(jù)庫服務(wù)器的IP地址(localhost)、端口號(hào)(3306),以及需要連接的數(shù)據(jù)庫的名稱組成。
還可以在 url 中添加參數(shù)如下:
jdbc:mysql://localhost:3306/mysql_2?useUnicode=true&characterEncoding=UTF8
useUnicode 參數(shù)指定這個(gè)連接數(shù)據(jù)庫的過程中,使用的字節(jié)集是 Unicode 字節(jié)集;
characherEncoding 參數(shù)指定穿上連接數(shù)據(jù)庫的過程中,使用的字節(jié)集編碼為 UTF-8 編碼。
注意:
mysql 中指定 UTF-8 編碼是給出的是 UTF8,而不是 UTF-8。要小心了!
3)獲取SQl語句的執(zhí)行對(duì)象
在得到 Connectoin 之后,說明已經(jīng)與數(shù)據(jù)庫連接上了,下面是通過Connection 獲取 Statement 對(duì)象的代碼:
Statement st = con.createStatement();
Statement 是用來向數(shù)據(jù)庫發(fā)送要執(zhí)行的SQL語句的!
執(zhí)行 SQL 語句:
executeUpdate()
執(zhí)行 insert、update、delete 語句(DML語句)。
executeQuery()
執(zhí)行 select 語句(DQL語句)。
execute() 方法的返回值是 boolean 類型的。
執(zhí)行 select 語句返回 true ,需要使用 getResultSet() 獲取查詢結(jié)果。
執(zhí)行其他語句返回 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ù)庫的驅(qū)動(dòng)jar包:
mysql-connector-java-5.1.39-bin.jar;

按照上面介紹的步驟編寫代碼:

現(xiàn)在來測(cè)試一下代碼

今天先到這里了~
后面的知識(shí)
我們下次再說了