jdbc 05: 查询结果集

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);
        }
    }
}
posted @   nefu-xun  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示