JDBC | 第五章: JDBC之ResultSet結果集遍歷和資料的獲取
阿新 • • 發佈:2020-08-24
JDBC結果集
- SQL語句執行後從資料庫查詢讀取資料,返回的資料放在結果集中 ResultSet介面表示資料庫查詢的結果集。
- ResultSet物件維護指向結果集中當前行的遊標。 術語“結果集”是指包含在ResultSet物件中的行和列資料。
瀏覽結果集
編號 | 方法 | 描述 |
---|---|---|
1 | public void beforeFirst() throws SQLException | 將游標移動到第一行之前 |
2 | public void afterLast() throws SQLException | 將游標移動到最後一行之後。 |
3 | public boolean first() throws SQLException | 將游標移動到第一行。 |
4 | public void last() throws SQLException | 將游標移動到最後一行。 |
5 | public boolean absolute(int row) throws SQLException | 將游標移動到指定的行。 |
6 | public boolean relative(int row) throws SQLException | 從當前指向的位置,將游標向前或向後移動給定行數。 |
7 | public boolean previous() throws SQLException | 將游標移動到上一行。 如果上一行關閉結果集,此方法返回false。 |
8 | public boolean next() throws SQLException | 將游標移動到下一行。 如果結果集中沒有更多行,則此方法返回false。 |
9 | public int getRow() throws SQLException | 返回游標指向的行號。 |
10 | public void moveToInsertRow() throws SQLException | 將游標移動到結果集中的特殊行,該行可用於將新行插入資料庫。當前游標位置被記住。 |
11 | public void moveToCurrentRow() throws SQLException | 如果游標當前位於插入行,則將游標移回當前行; 否則,此方法什麼也不做 |
檢視結果集
編號 | 方法 | 描述 |
---|---|---|
序號 | 方法 | 描述 |
1 | public int getInt(String columnName) throws SQLException | 返回名為columnName的列中當前行中的int值。 |
2 | public int getInt(int columnIndex) throws SQLException | 返回指定列索引當前行中的int值。列索引從1開始,意味著行的第一列為1,行的第二列為2,依此類推。 |
類似地,在八個Java基元型別中的每一個的ResultSet介面中都有get方法,以及常見的型別,如java.lang.String,java.lang.Object和java.net.URL等。
簡單使用
/*
* 簡單資料獲取遍歷
* */
public void selectEasy() {
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
String sql = "select * from user limit 0,50";
try {
//獲取資料連線
connection = basicUse.getConnection();
//獲取傳送sql指令執行sql物件
statement = connection.createStatement();
//返回查詢結果集用於儲存資料庫查詢內容
rs = statement.executeQuery(sql);
//遍歷結果集拿到資料
//next()---------------類似指標的效果,會向下移動;
while (rs.next()) {
// getString(String columnname)-------------根據列名獲取本列的值;
//getString(int index)--------------根據索引獲取指定位置的值;
System.out.println("id" + "\t" + rs.getString(1));
System.out.println("name" + "\t" + rs.getString(2));
System.out.println("age" + "\t" + rs.getString("age"));
System.out.println("email" + "\t" + rs.getString("email"));
System.out.println("manager_id" + "\t" + rs.getString("manager_id"));
System.out.println("create_time" + "\t" + rs.getString("create_time"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//執行完資料庫操作後記得關閉資料庫連線資源
try {
rs.close();
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
完整專案案例
點選這裡 github