關於JDBC的ResultSet結果集
阿新 • • 發佈:2018-12-09
前言:關於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