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...