JDBC

JDBC API主要功能:


與數(shù)據(jù)庫建立連接,執(zhí)行SQL語句,處理結(jié)果。

1.DriverManager:依據(jù)數(shù)據(jù)庫的不同,管理JDBC驅(qū)動。

2.Connection:負責連接數(shù)據(jù)庫并且擔任傳輸數(shù)據(jù)的任務(wù)。

3.Statement:由Connection產(chǎn)生,負責執(zhí)行SQL語句。

4.ResultSet:負責保存Statement執(zhí)行后所產(chǎn)生的查詢結(jié)果。

在JDBC中用到的相關(guān)方法:


1.forName();返回與帶有給定字符串名的類或是接口(獲取驅(qū)動類的全部名稱,進行加載。)

2.getConnection();獲取連接數(shù)據(jù)庫的相關(guān)信息,包括:url數(shù)據(jù)庫的地址及其數(shù)據(jù)庫名,user用戶名,password密碼。

3.createStatemebt();創(chuàng)建一個Statement對象,將SQL語句發(fā)送到數(shù)據(jù)庫。

4.executeUpdate(String sql);增,刪,改都用。返回值是執(zhí)行該操作所影響的行數(shù)

5.execute(String sql);可以執(zhí)行任意的SQL語句,然后獲得一個布爾值,表示是否返回ResulSet。

6.使用ResultSet查詢表的信息

createStatement();在連接數(shù)據(jù)庫的時候,獲取一個可以執(zhí)行的SQL語句,在這里就是查詢?nèi)蝿?wù)。

executeQuery(String sql);執(zhí)行查詢時 ,要用statement類的exeuteQuery();方法來下達select指令以查詢數(shù)據(jù)庫,executeQuery();方法會把數(shù)據(jù)庫響應(yīng)的查詢結(jié)果放在ResultSet類對象中供我們使用。執(zhí)行SQL查詢并獲取到ResultSet對象

getobject();具體的查詢,其中的查詢可以是索引,也可以是名。

ResultSet常用方法:

Boolean next();將光標從當前位置向下移動一行

Boolean previous();游標從當前位置向上移動一行(與上面的相反)

void close(); ???????????關(guān)閉ResultSet對象

int getInt(int colIndex); ???以int形式獲取結(jié)果集當前行指定列號值

int getInt(String colLabel); 以int形式獲取結(jié)果集當前行指定列名值

float getFloat(int colIndex);以float形式獲取結(jié)果集當前行指定列號值

float getFloat(String colLabel); 以float形式獲取結(jié)果集當前行指定列名值

String getString(int colIndex); ?以String形式獲取結(jié)果集當前行指定列號值

String getString(String colLabel);以String形式獲取結(jié)果集當前行指定列名值

PreparedStatement:

PreparedStatement可以避免注入隱患

PreparedStatement接口是繼承Statement接口的,要比Statement對象使用起來更加靈活,更有效率。


列子使用:

Statement:


PreparedStatement:


1.PreparedStatement是預(yù)編譯的,對于批量處理可以大大提高效率. 也叫JDBC存儲過程

1.提高了安全性。

2.提高SQL語句執(zhí)行的性能

3.提高了代碼的可讀性和維護性

2.使用 Statement 對象。在對數(shù)據(jù)庫只執(zhí)行一次性存取的時侯,用 Statement 對象進行處理。PreparedStatement 對象的開銷比Statement大,對于一次性操作并不會帶來額外的好處。

3.statement每次執(zhí)行sql語句,相關(guān)數(shù)據(jù)庫都要執(zhí)行sql語句的編譯,preparedstatement是預(yù)編譯得,preparedstatement支持批處理



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • JDBC簡介 SUN公司為了簡化、統(tǒng)一對數(shù)據(jù)庫的操作,定義了一套Java操作數(shù)據(jù)庫的規(guī)范,稱之為JDBC。JDBC...
    奮斗的老王閱讀 1,541評論 0 51
  • JDBC概述 在Java中,數(shù)據(jù)庫存取技術(shù)可分為如下幾類:JDBC直接訪問數(shù)據(jù)庫、JDO技術(shù)、第三方O/R工具,如...
    usopp閱讀 3,557評論 3 75
  • 本人的環(huán)境為Myeclipse10、MySQL5.7.15 本文包括:簡介JDBC編程步驟打通數(shù)據(jù)庫程序詳解—Dr...
    廖少少閱讀 3,998評論 7 39
  • java類和數(shù)據(jù)庫表的關(guān)系 類對應(yīng)表,字段對應(yīng)屬性,一行數(shù)據(jù)對應(yīng)一個對象,所以類的屬性名要和表的字段名相同才能進行...
    孫浩j閱讀 572評論 0 1
  • 七歲那年,我抓住了樹上的的那只蟬,以為抓住了整個夏天;十七歲那年,我親吻過你的臉頰,以為我們可以永遠在一起...
    時光的愛麗絲閱讀 332評論 1 0