java-jdbc3:遍历返回查询结果集

将查询结果遍历打印

package cn;

import java.sql.*;

//4.ResultSet : 结果集对象 结果集会有一个游标
//        1.boolean next() : 游标向下移动一行,判断当前行是否为最后一行(是否有数据),如果是,则返回false,如果不是则返回true
//        2.getXxx(参数) :获取数据
//        Xxx;代表数据类型 如:getInt() 返回int类型,getString 返回字符串类型,
//        参数:1.int类型:代表字段的编号,从1开始。如getInt(1):获取表的第一个字段
//        2.String类型:代表字段名称。如getString(name):获取表的name字段
//        注意:
//        1.游标向下移动一行。
//        2.判断是否有数据
//        3.获取数据。用循环判断 next 是否为 true,是则输出。不是则跳出循环
//        while (rs.next()) {
//                // 6.2获取数据
//                int id = rs.getInt(1);
//                String name = rs.getString("name");
//                // 打印结果
//                System.out.println(id + "---" + name);
//            }
public class JdbcDemo5 {
    public static void main(String[] args)  {

        // 第7步把局部变量变成全局变量
        Connection con = null ;
        Statement stat = null ;
        // 结果集也是一个对象,后面需要关闭它
        ResultSet rs = null ;

        try {
            // 1.注册驱动
            Class.forName("com.mysql.cj.jdbc.Driver") ;
            // 2.定义sql脚本
            String sql = "select * from stuinfo " ;
            // 3.获取Connection   Connection 在try外面定义后进行赋值
            con = DriverManager.getConnection("jdbc:mysql:///test","root","newpassword") ;
            // 4.获取执行sql对象 Statement  Statement stat 在try外面进行定义后赋值
            stat = con.createStatement() ;
            // 5.执行sql语句
            rs = stat.executeQuery(sql) ; // 影响行数
            // 6.处理结果
            // 判断下一行是否有数据,如果有,则一直输出
            while (rs.next()) {
                // 6.2获取数据
                int id = rs.getInt(1);
                String name = rs.getString("name");
                // 打印结果
                System.out.println(id + "---" + name);
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
            // 7.释放资源
            // 避免空指针异常  stat.close() ;
            // rs是最后使用的要先关闭,stat 使用con对象,所以应该先释放stat对象,释放后面的对象再释放前面的
            if (rs != null) {
                try {
                    rs.close() ;
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (stat != null) {
                try {
                    stat.close() ;
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (con != null) {
                try {
                    stat.close() ;
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }

    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值