最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL為例講解JDBC數(shù)據(jù)庫連接步驟

 更新時間:2016年08月22日 16:11:54   作者:scnu_yz  
這篇文章主要為大家詳細(xì)介紹了MySQL為例講解JDBC數(shù)據(jù)庫連接步驟,感興趣的小伙伴們可以參考一下

1、什么是JDBC?有什么作用?

Java Data Base Connectivity Java數(shù)據(jù)庫連接協(xié)議

是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問。

他提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級的工具和接口,使開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序

有了JDBC, 向各種關(guān)系數(shù)據(jù)發(fā)送sql語句就變得很容易了

換句話說就是有了JDBC API就不用為了訪問Oracle數(shù)據(jù)庫專門寫一個程序

或者又為訪問MySQL數(shù)據(jù)庫專門寫一個程序。

2、Java APP使用JDBC連接數(shù)據(jù)庫并處理數(shù)據(jù)有哪些操作步驟?

將驅(qū)動包所在路徑添加到CLASSPATH類路徑變量中

(如:將mysql-connector-java-5.1.5-bin.jar復(fù)制到D:\javasoft下,然后把“D:/javasoft/mysql-connector-java-5.1.5-bin.jar”增加到CLASSPATH變量值中)

步驟:

1)加載Driver驅(qū)動

2)創(chuàng)建數(shù)據(jù)庫連接對象Connection

3)創(chuàng)建一個可向數(shù)據(jù)庫發(fā)送SQL命令并返回結(jié)果的傳送對象Statement

4)執(zhí)行SQL命令并處理返回結(jié)果

5)處理后,如果有返回結(jié)果集,關(guān)閉結(jié)果集對象ResultSet

6)關(guān)閉對應(yīng)的 Statement 對象

7)關(guān)閉連接對象Connection

3、案例分析1

//1、加載驅(qū)動 com.mysql.jdbc.Driver是驅(qū)動類的路徑
Class.forName("com.mysql.jdbc.Driver");  


//2、創(chuàng)建數(shù)據(jù)庫連接對象
Connection conn = null ;
Statement stmt = null ;
ResultSet rs = null ;
String url = "jdbc:mysql://localhost:3306/test" ; //localhost表示本機(jī) 3306為默認(rèn)端口 test為數(shù)據(jù)庫名稱
String username = "root" ;  //定義連接數(shù)據(jù)庫的用戶名和密碼
String password = "root" ;
conn = DriverManager.getConnection(url,username,password);

復(fù)制代碼 代碼如下:
//3、創(chuàng)建一個可向數(shù)據(jù)庫發(fā)送SQL命令并返回結(jié)果的傳送對象Statementstmt = conn.createStatement();

復(fù)制代碼 代碼如下:
//4、將sql命令通過sql傳送對象Statement傳送到數(shù)據(jù)庫執(zhí)行,并返回結(jié)果String sql = "select * from user" ;rs = stmt.executeQuery(sql);

executeQuery()用于執(zhí)行查詢語句,返回的是結(jié)果集,實(shí)際上就是一個滿足查詢條件的一個表

rs結(jié)果集通過指針來指定當(dāng)前是哪一條數(shù)據(jù)

調(diào)用next方法,指針會指向下一條數(shù)據(jù),如果有數(shù)據(jù),會返回true

//5、處理結(jié)果集
while(rs.next()){
  println(rs.getString("username"));
  pringln(rs.getInt("password"));
}

這里沒有聲明拋出異常,需要放在try catch 的try里面,或者拋出也行,如果放在try里面,要把catchSQLException...

finally要將conn stmt rs 都close 因?yàn)檫@些都是JVM的外部資源,和IO一樣都要手動關(guān)閉,它不在JVM的管理范圍內(nèi)

4、案例分析2(增刪改)

增加、修改、刪除都屬于數(shù)據(jù)操作,與數(shù)據(jù)查詢不同的是:

沒有查詢結(jié)果,不需要使用ResultSet

執(zhí)行方法用的是executeUpdate()不是executeQuery()

executeUpdate()方法也有返回值,但不是ResultSet,而是一個int,表示更新了多少條數(shù)據(jù),一般可不處理

5、什么是事務(wù)?

是一組原子性的數(shù)據(jù)庫操作,指的是一組數(shù)據(jù)庫操作中,要么都成功,要么都不成功。

一個經(jīng)典的例子:轉(zhuǎn)賬

從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';

如何進(jìn)行事務(wù)管理?

默認(rèn)是自動提交的,進(jìn)行事務(wù)管理時首先要設(shè)為手動提交

程序正常運(yùn)行時,最后調(diào)用Connection對象的commit方法進(jìn)行事務(wù)提交

程序出現(xiàn)異常時,調(diào)用Connection對象的rollback方法進(jìn)行事務(wù)回滾

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

泉州市| 南投县| 湾仔区| 东光县| 扎鲁特旗| 鸡西市| 崇文区| 临潭县| 双桥区| 邹城市| 沭阳县| 涿鹿县| 龙陵县| 鄱阳县| 滦平县| 贡觉县| 青州市| 西盟| 中江县| 巫山县| 太原市| 南川市| 秦皇岛市| 文成县| 锦屏县| 开封市| 商洛市| 呼伦贝尔市| 花莲县| 醴陵市| 乌苏市| 江门市| 黄龙县| 安平县| 当涂县| 龙川县| 巧家县| 合作市| 武清区| 苏尼特左旗| 桂东县|