欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

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

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

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

將驅(qū)動(dòng)包所在路徑添加到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ū)動(dòng)

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

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

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

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

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

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

3、案例分析1

//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);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一個(gè)經(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)是自動(dòng)提交的,進(jìn)行事務(wù)管理時(shí)首先要設(shè)為手動(dòng)提交

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

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

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

相關(guān)文章

  • mysql8重置root用戶密碼的完整步驟

    mysql8重置root用戶密碼的完整步驟

    這篇文章主要給大家分享介紹了關(guān)于mysql8重置root用戶密碼的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Mysql中@和@@符號(hào)的詳細(xì)使用指南

    Mysql中@和@@符號(hào)的詳細(xì)使用指南

    最近工作遇到了一個(gè)問(wèn)題,給自己做個(gè)記錄,下面這篇文章主要給大家介紹了關(guān)于Mysql中@和@@符號(hào)的詳細(xì)使用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • MySQL數(shù)據(jù)庫(kù)中CAST與CONVERT函數(shù)實(shí)現(xiàn)類型轉(zhuǎn)換的講解

    MySQL數(shù)據(jù)庫(kù)中CAST與CONVERT函數(shù)實(shí)現(xiàn)類型轉(zhuǎn)換的講解

    今天小編就為大家分享一篇關(guān)于MySQL數(shù)據(jù)庫(kù)中CAST與CONVERT函數(shù)實(shí)現(xiàn)類型轉(zhuǎn)換的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • MySQL性能優(yōu)化之Open_Table配置參數(shù)的合理配置建議

    MySQL性能優(yōu)化之Open_Table配置參數(shù)的合理配置建議

    這篇文章主要介紹了MySQL性能優(yōu)化之Open_Table配置參數(shù)的合理配置建議,在MySQL數(shù)據(jù)庫(kù)中,Opened_tables表示打開(kāi)過(guò)的表數(shù)量,需要的朋友可以參考下
    2014-07-07
  • Mysql Limit 分頁(yè)查詢優(yōu)化詳解

    Mysql Limit 分頁(yè)查詢優(yōu)化詳解

    這篇文章主要介紹了Mysql Limit 分頁(yè)查詢優(yōu)化的相關(guān)資料,非常不錯(cuò),介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • 小型Drupal數(shù)據(jù)庫(kù)備份以及大型站點(diǎn)MySQL備份策略分享

    小型Drupal數(shù)據(jù)庫(kù)備份以及大型站點(diǎn)MySQL備份策略分享

    為了防止web服務(wù)器出現(xiàn)故障而引起的數(shù)據(jù)丟失,數(shù)據(jù)庫(kù)備份顯得非常重要,以免出現(xiàn)重大損失。本文分析研究一下小型的Drupal站的備份策略以及大型站點(diǎn)的mysql備份策略
    2014-11-11
  • 基于explain性能詳細(xì)分析

    基于explain性能詳細(xì)分析

    這篇文章主要介紹了基于explain性能詳細(xì)分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • mysql創(chuàng)建表設(shè)置表主鍵id從1開(kāi)始自增的解決方案

    mysql創(chuàng)建表設(shè)置表主鍵id從1開(kāi)始自增的解決方案

    在MySQL中用很多類型的自增ID,每個(gè)自增ID都設(shè)置了初始值,一般情況下初始值都是從0開(kāi)始,然后按照一定的步長(zhǎng)增加(一般是自增 1),下面這篇文章主要給大家介紹了關(guān)于mysql創(chuàng)建表設(shè)置表主鍵id從1開(kāi)始自增的解決方案,需要的朋友可以參考下
    2023-04-04
  • MyISAM和InnoDB引擎優(yōu)化分析

    MyISAM和InnoDB引擎優(yōu)化分析

    這幾天在學(xué)習(xí)mysql數(shù)據(jù)庫(kù)的優(yōu)化并在自己的服務(wù)器上進(jìn)行設(shè)置,喻名堂主要學(xué)習(xí)了MyISAM和InnoDB兩種引擎的優(yōu)化方法,需要了解跟多的朋友可以參考下
    2012-11-11
  • 快速學(xué)習(xí)MySQL基礎(chǔ)知識(shí)

    快速學(xué)習(xí)MySQL基礎(chǔ)知識(shí)

    這篇文章主要介紹了MySQL基礎(chǔ)知識(shí)的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評(píng)論