JDBC學習(二)之JDBC物件介紹

2021-09-13 09:47:33 字數 2657 閱讀 2428

class.forname(「com.mysql.jdbc.driver」);//註冊驅動

string url = 「jdbc:mysql://localhost:3306/mydb1」;

string username = 「root」;

string password = 「123」;

connection con = drivermanager.getconnection(url, username, password);

上面5句**容易出現的異常

classnotfountexception:第一句容易出現,一般兩個原因

sqlexception:這個異常出現在第5句,三個引數出錯

最為重要的方式 createstatement()

statement st=connection.createstatement();//無參方法獲得statement物件

還有乙個有參過載函式,來確定生成對應的結果集

statement st=connection.createstatement(int,int);//無參方法獲得statement物件

兩個引數具體含義,在後面resultset中說明

語句傳送器擁有兩個最為重要的方法

除了上面兩個常用的方法還有乙個 boolean execute(string sql),可以執行executeupdate(string sql)和executequery(string sql)兩個方法的語句。但是返回是boolean,表示是否有結果集。可以通過getupatecount來獲取增刪改影響的行數;通過getresultset()來獲取查詢結果集。

public static void main(string args) throws classnotfoundexception, sqlexception 

while(res.next())

}catch(exception e)finally

}

resultset

結果集特性:

當使用connection的createstatement時,可以確定結果集的特性

connection.createstatement():生成的結果集:不滾動、不敏感、不可更新

connection.createstatement(int resultsettype, int resultsetconcurrency):

第乙個引數:

resultset.type_forward_only:不滾動結果集;

resultset.type_scroll_insensitive:滾動結果集,但結果集資料不會再跟隨資料庫而變化;

resultset.type_scroll_sensitive:滾動結果集,但結果集資料會跟隨資料庫而變化;

對於敏感這個感念可以參考 type_scroll_sensitive問題

第二個引數:

concur_read_only:結果集是唯讀的,不能通過修改結果集而反向影響資料庫;

concur_updatable:結果集是可更新的,對結果集的更新可以反向影響資料庫。

resultset是乙個二維表,內部維護乙個行游標,擁有以下方法

void beforefirst():把游標放到第一行的前面,這也是游標預設的位置;

void afterlast():把游標放到最後一行的後面;

boolean first():把游標放到第一行的位置上,返回值表示調控游標是否成功;

boolean last():把游標放到最後一行的位置上;

boolean isbeforefirst():當前游標位置是否在第一行前面;

boolean isafterlast():當前游標位置是否在最後一行的後面;

boolean isfirst():當前游標位置是否在第一行上;

boolean islast():當前游標位置是否在最後一行上;

boolean previous():把游標向上挪一行;

boolean next():把游標向下挪一行;

boolean relative(int row):相對位移,當row為正數時,表示向下移動row行,為負數時表示向上移動row行;

boolean absolute(int row):絕對位移,把游標移動到指定的行上;

int getrow():返回當前游標所有行。

其中1-9是通用的,無參函式createstatement(),在10-13中可以使用next();其他的是滾動模式可以使用。

獲取結果集元資料

得到元資料:rs.getmetadata(),返回值為resultsetmetadata;

獲取結果集列數:int getcolumncount()

獲取指定列的列名:string getcolumnname(int colindex)

結果集元素據使用方法

public static void main(string args) throws classnotfoundexception, sqlexception 

while(res.next())

system.out.println(",");

}}catch(exception e)finally

}

通過結果集元資料可以輕鬆遍歷結果集所有資料

JDBC 學習之 JDBC 基礎知識

jdbc是sun公司制定的乙個可以用j a語言連線資料庫的技術。一 jdbc基礎知識 jdbc j a data base connectivity,j a資料庫連線 是一種用於執行sql語句的j a api,可以為多種關聯式資料庫提供統一訪問,它由一組用j a語言編寫的類和介面組成。jdbc為資料...

jdbc物件詳解

1.drivermanager 驅動管理物件 功能 1 註冊驅動 告訴程式 該使用哪乙個 資料庫 static void registerdriver driver driver 註冊與 給定的驅動程式drivermanager 寫 使用 class.forname com.mysql.jdbc.d...

Hive學習之JDBC訪問

啟動hiveserver2服務 bin hiveserver2 複製 此時是阻塞的,讓他阻塞著 其實可以後台執行,但是看不到日誌了不推薦 再開個視窗就行了 啟動beeline bin beeline 複製 3.連線hiveserver2 connect jdbc hive2 hadoop101 10...