JDBC------之執行查詢操作和使用結果集獲取數據的簡單方式


使用數據庫操作對象對數據庫的操作分為兩類,一類是對數據庫內容的增刪改,另一類是對數據庫內容的查詢,因為查詢數據庫會從數據庫服務器返回查詢的結果,這個結果被封裝到一個結果集之中,我們需要對這個結果集進行相應的操作來獲取我們查詢的數據。

代碼演示:

package com.itheima.hui;

import com.itheima.hui.utils.JDBCUtils;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCSelect {
    public static void main(String[] args) {
        //使用JDBC的查詢操作
        Connection connect = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            //1.使用工具類過得連接對象
            connect = JDBCUtils.getConnect();
            String sql = "select * from student";
            preparedStatement = connect.prepareStatement(sql);

            //執行查詢操作返回值是一個結果集對象
            resultSet = preparedStatement.executeQuery();

            //遍歷結果集
            while (resultSet.next()) {//判斷結果集中的下一行還有沒有數據,有數據返回true並且指針下移,沒有數據返回false,指針不再下移
               /* String id = resultSet.getString(1);//索引的值是從1開始的,值得注意的是只要是和數據庫交互的大部分的索引值都是從1開始的
                String name = resultSet.getString(2);
                String age = resultSet.getString(3);*/
                //當然我們也可以通過結果集的獲取數據的重載方法獲得數據
                String id = resultSet.getString("id");
                String name = resultSet.getString("name");
                String age = resultSet.getString("age");
                System.out.println(id + "   " + "  " + name + "    " + age);
            }


        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //使用自定義工具類關閉資源
            JDBCUtils.close(connect, preparedStatement, resultSet);


        }


    }


}

 

對於結果集Resultset的解析:

當我們通過數據庫查詢數據的時候會返回相應的查詢結果:

 

 

 

這個結果就被封裝在Resultset結果集當中,在初始的時候,next();指針指向第一行真實數據的上面,如下圖所示:

 

 

 當我們在對結果集進行操作的時候使用resultSet.next(),會判斷當前指針的下一行還有沒有數據:

  • 如果有:
    • 返回值為true
    • 並且next();指針向下移動一行
  • 如果沒有
    • 返回值為false,指針不再向下移動

 

當我們經過判斷獲得true的時候,我們就需要對數據進行獲取的操作,在上面的代碼中有詳細的操作和解釋。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM