《Mysql實(shí)例MySQL為例講解JDBC數(shù)據(jù)庫(kù)連接步驟》要點(diǎn):
本文介紹了Mysql實(shí)例MySQL為例講解JDBC數(shù)據(jù)庫(kù)連接步驟,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
1、什么是JDBC?有什么作用?MYSQL數(shù)據(jù)庫(kù)
Java Data Base Connectivity Java數(shù)據(jù)庫(kù)連接協(xié)議MYSQL數(shù)據(jù)庫(kù)
是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一拜訪.MYSQL數(shù)據(jù)庫(kù)
他提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使開發(fā)人員能夠編寫數(shù)據(jù)庫(kù)應(yīng)用程序MYSQL數(shù)據(jù)庫(kù)
MYSQL數(shù)據(jù)庫(kù)
有了JDBC, 向各種關(guān)系數(shù)據(jù)發(fā)送sql語句就變得很容易了MYSQL數(shù)據(jù)庫(kù)
換句話說就是有了JDBC API就不用為了拜訪Oracle數(shù)據(jù)庫(kù)專門寫一個(gè)程序MYSQL數(shù)據(jù)庫(kù)
或者又為拜訪MySQL數(shù)據(jù)庫(kù)專門寫一個(gè)程序.MYSQL數(shù)據(jù)庫(kù)
2、Java APP使用JDBC連接數(shù)據(jù)庫(kù)并處理數(shù)據(jù)有哪些操作步驟?MYSQL數(shù)據(jù)庫(kù)
將驅(qū)動(dòng)包所在路徑添加到CLASSPATH類路徑變量中MYSQL數(shù)據(jù)庫(kù)
(如:將mysql-connector-java-5.1.5-bin.jar復(fù)制到D:\javasoft下,然后把“D:/javasoft/mysql-connector-java-5.1.5-bin.jar”增加到CLASSPATH變量值中)MYSQL數(shù)據(jù)庫(kù)
步驟:MYSQL數(shù)據(jù)庫(kù)
1)加載Driver驅(qū)動(dòng)MYSQL數(shù)據(jù)庫(kù)
2)創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象ConnectionMYSQL數(shù)據(jù)庫(kù)
3)創(chuàng)建一個(gè)可向數(shù)據(jù)庫(kù)發(fā)送SQL命令并返回結(jié)果的傳送對(duì)象StatementMYSQL數(shù)據(jù)庫(kù)
4)執(zhí)行SQL命令并處理返回結(jié)果MYSQL數(shù)據(jù)庫(kù)
5)處理后,如果有返回結(jié)果集,關(guān)閉結(jié)果集對(duì)象ResultSetMYSQL數(shù)據(jù)庫(kù)
6)關(guān)閉對(duì)應(yīng)的 Statement 對(duì)象MYSQL數(shù)據(jù)庫(kù)
7)關(guān)閉連接對(duì)象ConnectionMYSQL數(shù)據(jù)庫(kù)
3、案例分析1MYSQL數(shù)據(jù)庫(kù)
//1、加載驅(qū)動(dòng) com.mysql.jdbc.Driver是驅(qū)動(dòng)類的路徑 Class.forName("com.mysql.jdbc.Driver"); //2、創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象 Connection conn = null ; Statement stmt = null ; ResultSet rs = null ; String url = "jdbc:mysql://localhost:3306/test" ; //localhost表示本機(jī) 3306為默認(rèn)端口 test為數(shù)據(jù)庫(kù)名稱 String username = "root" ; //定義連接數(shù)據(jù)庫(kù)的用戶名和暗碼 String password = "root" ; conn = DriverManager.getConnection(url,username,password);
MYSQL數(shù)據(jù)庫(kù)
MYSQL數(shù)據(jù)庫(kù)
MYSQL數(shù)據(jù)庫(kù)
executeQuery()用于執(zhí)行查詢語句,返回的是結(jié)果集,實(shí)際上就是一個(gè)滿足查詢條件的一個(gè)表MYSQL數(shù)據(jù)庫(kù)
rs結(jié)果集通過指針來指定當(dāng)前是哪一條數(shù)據(jù)MYSQL數(shù)據(jù)庫(kù)
調(diào)用next辦法,指針會(huì)指向下一條數(shù)據(jù),如果有數(shù)據(jù),會(huì)返回trueMYSQL數(shù)據(jù)庫(kù)
//5、處理結(jié)果集 while(rs.next()){ println(rs.getString("username")); pringln(rs.getInt("password")); }
這里沒有聲明拋出異常,需要放在try catch 的try里面,或者拋出也行,如果放在try里面,要把catchSQLException...MYSQL數(shù)據(jù)庫(kù)
finally要將conn stmt rs 都close 因?yàn)檫@些都是JVM的外部資源,和IO一樣都要手動(dòng)關(guān)閉,它不在JVM的管理范圍內(nèi)MYSQL數(shù)據(jù)庫(kù)
4、案例分析2(增刪改)MYSQL數(shù)據(jù)庫(kù)
增加、修改、刪除都屬于數(shù)據(jù)操作,與數(shù)據(jù)查詢不同的是:MYSQL數(shù)據(jù)庫(kù)
沒有查詢結(jié)果,不需要使用ResultSetMYSQL數(shù)據(jù)庫(kù)
執(zhí)行辦法用的是executeUpdate()不是executeQuery()MYSQL數(shù)據(jù)庫(kù)
executeUpdate()辦法也有返回值,但不是ResultSet,而是一個(gè)int,表示更新了多少條數(shù)據(jù),一般可不處理MYSQL數(shù)據(jù)庫(kù)
5、什么是事務(wù)?MYSQL數(shù)據(jù)庫(kù)
是一組原子性的數(shù)據(jù)庫(kù)操作,指的是一組數(shù)據(jù)庫(kù)操作中,要么都成功,要么都不成功.MYSQL數(shù)據(jù)庫(kù)
一個(gè)經(jīng)典的例子:轉(zhuǎn)賬MYSQL數(shù)據(jù)庫(kù)
從100001賬戶轉(zhuǎn)賬100.00元到100002賬戶:
update account1 set money=money-100.00 where code='100001';
update account1 set money=money+100.00 where code='100002';MYSQL數(shù)據(jù)庫(kù)
如何進(jìn)行事務(wù)管理?MYSQL數(shù)據(jù)庫(kù)
默認(rèn)是自動(dòng)提交的,進(jìn)行事務(wù)管理時(shí)首先要設(shè)為手動(dòng)提交MYSQL數(shù)據(jù)庫(kù)
程序正常運(yùn)行時(shí),最后調(diào)用Connection對(duì)象的commit辦法進(jìn)行事務(wù)提交MYSQL數(shù)據(jù)庫(kù)
程序出現(xiàn)異常時(shí),調(diào)用Connection對(duì)象的rollback辦法進(jìn)行事務(wù)回滾MYSQL數(shù)據(jù)庫(kù)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所贊助,也希望大家多多支持維易PHP.MYSQL數(shù)據(jù)庫(kù)
維易PHP培訓(xùn)學(xué)院每天發(fā)布《Mysql實(shí)例MySQL為例講解JDBC數(shù)據(jù)庫(kù)連接步驟》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/13066.html