1. 程式人生 > >關於JDBC的ResultSet結果集

關於JDBC的ResultSet結果集

前言:關於java.sql.ResultSet介面,做一個簡單總結,之後還會繼續完善。

ResultSet可以獲取到JDBC訪問資料庫的結果集

普遍用法:它可以由java.sql.PreparedStatement或者java.sql.CallableStatement兩個介面獲取

java.sql.PreparedStatement用法:

//具體SQL
StringBuffer sql = new StringBuffer(" select * from table\n ");
//con物件為Connection物件,這裡不做詳解
PreparedStatement p = con.prepareStatement(sql.toString());
//執行後
cstm.execute();
//獲取結果集
p.getResultSet();

java.sql.CallableStatement用法:

//具體SQL
StringBuffer sql = new StringBuffer(" select * from table\n ");
//con物件為Connection物件,這裡不做詳解
CallableStatement cstm = con.prepareCall(sql.toString());
//執行後
cstm.execute();
//獲取結果集
ResultSet rs = cstm.getResultSet();

基本的用法有:

//遍歷結果集
while(rs!=null && rs.next()){
    //第一種是,通過欄位名稱獲取返回內容
	rs.getString("欄位名");//通過欄位名稱,並且返回String型別的內容
	rs.getDate("欄位名");//通過欄位名稱,並且返回Date型別的內容
	rs.getTimestamp("欄位名");//通過欄位名稱,並且返回Timestamp型別的內容
    rs.getInt("欄位名");//通過欄位名稱,並且返回int基礎型別的內容

    //第二種是,通過欄位順序獲取返回內容
    rs.getString(0);//獲取第1個欄位內容,並且返回值為String型別
    rs.getDate(1);//獲取第2個欄位內容,並且返回值為Date型別
    rs.getTimestamp(2);//獲取第3個欄位內容,並且返回值為Timestamp型別
    rs.getInt(3);//獲取第4個欄位內容,並且返回值為int基礎型別

    //其餘的型別,大致可以根據方法名稱識別
}

注意:ResultSet.getDate()方法獲取和ResultSet.getTimestamp()方法,都是獲取時間內容,但是有區別的是,他們的格式問題;

列如:

資料庫型別為SQL SERVER2008,資料格式為dateTime

資料庫內容格式為:2018-06-25 09:39:21.000

ResultSet.getDate():返回的資料,格式2018-06-25

ResultSet.getTimestamp():返回的資料,格式2018-06-25 09:39:21.000