JDBC重要知識點

2021-07-26 02:54:23 字數 2192 閱讀 2301

1.cachedrowset 可以快取查詢到的結果集,即使你關閉流資源,依然可以使用結果集,還可以實現分頁功能

public cachedrowset pagequery(string sql,int pagesize,int page) throws exception

呼叫分頁結果:

cachedrowset rowset=my.pagequery("select * from jdbc_test",4,2);

while(rowset.next())

2.jdbc關閉自動提交,(connection.setautocomit(false) )開啟事務,然後sql語句執行過程中,若丟擲異常,使用try catch 則應當顯示回滾事務 (rollback) ,反之,throws 異常,則不必這樣做。

3.批量處理

//批量處理,把所有的處理語句當成一句去處理,若是中間發生事務,則整個事務撤回

public int batchupdate(stringsql) throws exception

int res=state.executebatch();

connection.commit();

connection.setautocommit(auto);//恢復過去的自動提交的狀態

return res;

}

4.使用 databasemetadata 分析當前資料庫資訊。

public void info() throws exception

); system.out.println("--當前資料庫裡的資料表資訊--");

printresultset(rs);

// 獲取student_table表的主鍵

rs = dbmd.getprimarykeys(null , null, "student_table");

system.out.println("--student_table表的主鍵資訊--");

printresultset(rs);

// 獲取當前資料庫的全部儲存過程

rs = dbmd.getprocedures(null , null, "%");

system.out.println("--當前資料庫裡的儲存過程資訊--");

printresultset(rs);

// 獲取teacher_table表和student_table之間的外來鍵約束

rs = dbmd.getcrossreference(null,null, "teacher_table"

, null, null, "student_table");

system.out.println("--teacher_table表和student_table之間"

+ "的外來鍵約束--");

printresultset(rs);

// 獲取student_table表的全部資料列

rs = dbmd.getcolumns(null, null, "student_table", "%");

system.out.println("--student_table表的全部資料列--");

printresultset(rs);

}public void printresultset(resultset rs)throws sqlexception

system.out.print("\n");

// 列印resultset裡的全部資料

while (rs.next())

{ for (int i = 0; i < rsmd.getcolumncount() ; i++ ) //除了列印語句外,其它語句作用是布局列印內容,使列印結果更整齊

{string space="";

int up=rsmd.getcolumnname(i + 1)!=null?rsmd.getcolumnname(i + 1).length():4;//計算**最上欄的字元數,null為4

int down=rs.getstring(i + 1)!=null?rs.getstring(i + 1).length():4; //計算列印結果字元數,null為4

for(int p=0;p

JSP重要知識點

場合 頁面本身有中文的時候 解決辦法 servlet resp.setcontenttype text html charset gbk jsp page contenttype text html charset gb2312 注意 一定要寫在printwriter out resp.getwri...

webAPI重要知識點

document.getelementbyid 通過id找到元素,找到的就是元素,找不到返回null document.getelementsbyclassname 通過類名找到元素,永遠得到偽陣列,找到幾個,偽陣列裡元素就有幾個 document.getelementsbytagname 通過標籤...

C 重要知識點

參考從4行 看右值引用 什麼叫左值,什麼叫右值?可以對表示式取位址的是左值,不能對表示式取位址的是右值。例如 int a 1 這裡a是變數,在棧中為其分配了具體的位址,是左值。1是右值。例如 int a std max 1,3 max方法的返回值是右值,在賦值給a後會被銷毀,因此是右值。什麼是右值引...