java odjc ResultSet 的使用詳解

2021-08-29 19:16:17 字數 2015 閱讀 5663

記得以前寫過一篇,但是貌似那個有點問題,那個應該是列數,這個地方,我重新糾正一下自己,也記錄一下,因為總是會忘記,正好今天用到了,就趕緊發了算了...

**如下:

statement stmt = conn.createstatement

(resultset.type_scroll_insensitive,

resultset.concur_read_only);

resultset rs = stmt.executequery

(sql); 

rs.last()

;int length = rs.getrow()

;

如上,length的值,就是行數了。如果在獲取了行數後,還需要繼續使用當前資料集rs,則需要rs.beforefirst();一次,將游標回到初始位置。

resultset.type_scroll_insensitive 結果集的游標可以上下移動,當資料庫變化時,當前結果集不變。

resultset.concur_read_only 不能用結果集更新資料庫中的表。

此外,給出statement建立時的其他說明:

通用格式為:statement stmt=con.createstatement(int type,int concurrency);我們在訪問資料庫的時候,在讀取返回結果的時候,可能要前後移動指標,比如我們先計算有多少條資訊,這是我們就需要把指標移到最後來計算,然後再把指標移到最前面,逐條讀取,有時我們只需要逐條讀取就可以了。還有就是有只我們只需要讀取資料,為了不破壞資料,我們可採用唯讀模式,有時我們需要望資料庫裡新增記錄,這是我們就要採用可更新資料庫的模式。

下面是所有引數的說明:

引數 int type

resultset.type_forword_only 結果集的游標只能向下滾動。

resultset.type_scroll_insensitive 結果集的游標可以上下移動,當資料庫變化時,當前結果集不變。

resultset.type_scroll_sensitive 返回可滾動的結果集,當資料庫變化時,當前結果集同步改變。

引數 int concurrency

resultset.concur_read_only 不能用結果集更新資料庫中的表。

resultset.concur_updatetable 能用結果集更新資料庫中的表。

此外,當我們使用resultset re=stmt.executequery(sql語句)查詢後,我們可以使用下列方法獲得資訊:

public boolean previous() 將游標向上移動,該方法返回boolean型資料,當移到結果集第一行之前時,返回false。

public void beforefirst 將游標移動到結果集的初始位置,即在第一行之前。

public void afterlast() 將游標移到結果集最後一行之後。

public void first() 將游標移到結果集的第一行。

public void last() 將游標移到結果集的最後一行。

public boolean isafterlast() 判斷游標是否在最後一行之後。

public boolean isbeforefirst() 判斷游標是否在第一行之前。

public boolean iffirst() 判斷游標是否指向結果集的第一行。

public boolean islast() 判斷游標是否指向結果集的最後一行。

public int getrow() 得到當前游標所指向行的行號,行號從1開始,如果結果集沒有行,返回0。

public boolean absolute(int row) 將游標移到引數row指定的行號。如果row取負值,就是倒數的行數,absolute(-1)表示移到最後一行,absolute(-2)表示移到倒數第2行。當移動到第一行前面或最後一行的後面時,該方法返回false。

Spring MVC JsonView使用詳解

spring 提供了對jackson 非常好的支援,可以檢視此spring jackson demo 來掌握。這裡著重說一下 jsonview的用法 jsonview可以過濾序列化物件的字段屬性,可以使你有選擇的序列化物件。下面看乙個例子 首先我們定義乙個view類,裡面包含我們對 要序列化的字段 ...

Spring MVC JsonView使用詳解

原文出處 spring 提供了對jackson 非常好的支援,這裡著重說一下 jsonview的用法 jsonview可以過濾序列化物件的字段屬性,可以使你有選擇的序列化物件。下面看乙個例子 首先我們定義乙個view類,裡面包含我們對 要序列化的字段 的定義,我們暫時歸為summary 摘要 屬於s...

Python的namedtuple使用詳解

namedtuple是繼承自tuple的子類。namedtuple建立乙個和tuple類似的物件,而且物件擁有可訪問的屬性。下面看個列子 from collections import namedtuple 定義乙個namedtuple型別user,幷包含name,和age屬性。user named...