JDBC基礎

掌握數據庫開發是java工程師的基本要求,而JDBC是數據庫開發的基礎,通過JDBC可以實現Java程序對后端數據庫的訪問。

雖然現在大多使用MyBatis,但明白JDBC的工作流程,對初學者來說還是非常必要的,學會之后能夠更快速的上手MyBatis。下面我就介紹一下JDBC的基礎知識。注意:學習JDBC需要有Java基礎以及數據庫基礎。

總的來說,使用JDBC的流程大概分為:

1. 裝載驅動程序
2. 建立與數據庫的連接
3. 執行SQL語句
4. 獲取執行結果
5. 清理資源

接下來逐步詳細說明:

1.裝載驅動程序

說到裝載驅動程序,就不得不說JDBC中的Driver類、DriverManager類。Driver類是一個接口,定義了各個驅動程序都必須實現的功能,是驅動程序的抽象。而DriverManager類是Driver類的管理類。

想要裝載驅動程序,我們就要用Class.forName(DriverName)向DriverManager注冊驅動程序。DriverName就是響應數據庫驅動的名稱。推薦用maven管理驅動程序,免去到官網下載的麻煩。例如加載mysql驅動:

Class.forName(“com.mysql.jdbc.Driver");

2.建立與數據庫的連接

想要建立與數據庫的連接,就要通過DriverManager類中的getConnection()方法調用驅動程序。

getConnection()方法返回的是一個JDBC Connection對象。Connection對象其實代表的是Java應用程序對后端數據庫的一條物理鏈接。基于這條鏈接,我們可以執行SQL語句。Connection對象常用的方法就是createStatement()方法,這個方法用來創建Statement對象。

調用getConnection()方法需要傳入三個參數,分別是URL、UserName、PassWord。注意:使用getConnection()可能會拋出異常,所以這里要捕獲異常。

例如:

Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/數據庫名","root","root");

URL為相應數據庫的地址,包含協議、子協議、子名稱三部分,其中自名稱又包括主機、端口、數據庫名等。例如:“jdbc:mysql://127.0.0.1:3306/數據庫名”。
UserName則是你部署相應數據庫時設置的用戶名,一般都是“root”。
PassWord就是你部署相應數據庫時設置的密碼。

3.執行SQL語句

要執行SQL語句,首先要用Connection連接創建Statement對象。Statement對象,說到底就是一個SQL容器,這個容器可以承載一些SQL語句。

然后調用executeQuery()方法或execute()方法執行SQL語句。其中,executeQuery()方法可執行查詢操作,execute()方法更新、添加、刪除等操作。執行后返回int值或ResultSet對象。ResultSet是數據庫結果集的數據表。

例如:

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select name from user");

4.獲取執行結果

若返回的是ResultSet對象,則要用循環取出ResultSet對象中的數據。因為ResultSet對象具有指向其當前數據行的指針。最初,指針被置于第一行之前。next方法可以將指針移動到下一行;使用該方法是會true或false(若沒有下一行則返回false),所以可以在while循環中使用它迭代結果集。(ResultSet對象的其他常用方法自行搜索其他資料,這里就不贅述了。)

例如:

while(rs.next()){
    System.out.println(rs.getString("name"));
}

5.清理資源

在finally{ }方法中清理資源。
例如:

finally{
    try{
        if(rs != null)
            rs.close();

        if(stmt != null)
            stmt.close();

        if(conn != null)
            conn.close();
    }
   catch(SQLException){
      //ignore
   }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,791評論 6 545
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,795評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,943評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,057評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,773評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,106評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,082評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,282評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,793評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,507評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,741評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,220評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,929評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,325評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,661評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,482評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,702評論 2 380

推薦閱讀更多精彩內容

  • 一,JDBC概述 1.為什么要使用JDBC 1.1沒有JDBC 1.2有了JDBC后 2.JDBC的概念 2.1....
    有樓萬事足閱讀 223評論 0 0
  • JDBC API 是一系列的接口。它使得應用程序能夠進行數據庫聯接,執行SQL語句,并且得到返回結果。 Drive...
    怪蜀黍Zzzzlw閱讀 411評論 0 2
  • 本人的環境為Myeclipse10、MySQL5.7.15 本文包括:簡介JDBC編程步驟打通數據庫程序詳解—Dr...
    廖少少閱讀 3,972評論 7 39
  • JDBC簡介 SUN公司為了簡化、統一對數據庫的操作,定義了一套Java操作數據庫的規范,稱之為JDBC。JDBC...
    奮斗的老王閱讀 1,536評論 0 51
  • 夏天很快過去。 不知道從什么時候起,這間被樹蔭婆娑俯瞰的小房子成了我棲身的寓所??偸窃谝惶斓拿β颠^...
    清泉石下閱讀 813評論 1 2