jdbc 05: 查询结果集

2年前 (2022) 程序员胖胖胖虎阿
232 0 0

jdbc连接mysql,查询结果集

package com.examples.jdbc.o5_结果集查询;

import java.sql.*;
import java.util.ResourceBundle;

/*
    jdbc遍历输出结果集
 */
public class Test {
    public static void main(String[] args) {
        resultSet();
    }

    //jdbc查询结果集
    public static void resultSet(){
        //资源绑定器获取配置文件属性
        ResourceBundle resourceBundle = ResourceBundle.getBundle("config/jdbc");
        String driver = resourceBundle.getString("driver");
        String url = resourceBundle.getString("url");
        String userName = resourceBundle.getString("userName");
        String passWord = resourceBundle.getString("passWord");

        Connection connection = null;
        Statement statement = null;
        ResultSet rs = null;

        try {
            //1.
            Class.forName(driver);

            //2.
            connection = DriverManager.getConnection(url, userName, passWord);

            //3.
            statement = connection.createStatement();

            /*
                4. 注意:executeQuery()执行 -- 查
                       executeUpdate()执行 -- 增删改
             */
            String sql = "select * from student";
            rs = statement.executeQuery(sql);

            //5. 遍历输出结果集
            resultSetOutByNum(rs);
            //resultSetOutByName(rs);

        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }finally {
            //6.
            if(rs != null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(statement != null){
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(connection != null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    //按照列号输出, jdbc编号从1开始
    public static void resultSetOutByNum(ResultSet rs) throws SQLException {
        int id, sage;
        String sname;
        while(rs.next()){
            id = rs.getInt(1);
            sname = rs.getString(2);
            sage = rs.getInt(3);
            System.out.println("id: " + id + " sname: " + sname + " sage: " + sage);
        }
        //rs的next已经走到查询结果的结尾,并没有自动回到最初指向的位置
    }

    //按照列名输出, 参考输出结果中的最终列名,按照列名查找更具有健壮性
    public static void resultSetOutByName(ResultSet rs) throws SQLException {
        int id, sage;
        String sname;
        while(rs.next()){
            id = rs.getInt("id");
            sname = rs.getString("sname");
            sage = rs.getInt("sage");
            System.out.println("id: " + id + " sname: " + sname + " sage: " + sage);
        }
    }
}
版权声明:程序员胖胖胖虎阿 发表于 2022年10月4日 上午10:00。
转载请注明:jdbc 05: 查询结果集 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...