JDBC处理查询结果集(select)

第五步:处理查询结果集(遍历结果集)只有在select语句时才会处理,增删改(insert、delete、update)没有第五步

三种遍历结果集方式:

第一方式: 数字1,2,3代表每行的第1,2,3列,循环输出每行;
String empno = rs.getString(1);
String ename = rs.getString(2);
String sal = rs.getString(3);
System.out.println(empno + “,” + ename + “,” + sal);

第三方式:除了可以String类型取出之外,还可以以特定的类型取出,特定类型可以进行数学运算.
int empno = rs.getInt(“a”);//重点注意:列名称不是表中的列名称,是查询结果集的列名称
String ename = rs.getString(“ename”);
double sal = rs.getDouble(“sal”);//double类型进行数学运算
System.out.println(empno + “,” + ename + “,” + (sal+200));

ResultSet接口类型的 executeQuery方法 专门执行select语句的方法

package com.jdbc;

import java.sql.*;

/**
 * 5.处理查询结果集(遍历结果集)(只有select语句才有这步)
 * ResultSet executeQuery(select) 专门执行sql语句的方法
 * */
public class JDBCTest05 {
    public static void main(String[] args) {
        //为了释放资源,放在外面写
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            //1.注册驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.获取连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjpowernode?serverTimezone=GMT%2B8", "root", "jh7851192");
            //3.获取数据库操作对象
            stmt = conn.createStatement();

            //4.执行SQL语句
            String sql = "select empno as a,ename,sal from emp1";
            //int executeUpdate(insert/delete/update)
            //ResultSet executeQuery(select)
            rs = stmt.executeQuery(sql);//专门执行select语句的方法

            //5.处理查询结果集(只有select语句才有这步)
            //rs.next()为boolean返回值
            //getString()方法的特点:不管数据库中的数据类型是什么,都以String的形式输出
            while (rs.next()) {
                //第一方式: 数字1,2,3代表每行的第1,2,3列,循环输出每行。
                /**String empno = rs.getString(1);
                String ename = rs.getString(2);
                String sal = rs.getString(3);
                System.out.println(empno + "," + ename + "," + sal);*/

                //第二方式:为了健壮语句
                /**String empno = rs.getString("a");//重点注意:列名称不是表中的列名称,是查询结果集的列名称
                String ename = rs.getString("ename");
                String sal = rs.getString("sal");
                System.out.println(empno + "," + ename + "," + sal);*/

                //第三方式:除了可以String类型取出之外,还可以以特定的类型取出,特定类型可以进行数学运算
                int empno = rs.getInt("a");//重点注意:列名称不是表中的列名称,是查询结果集的列名称
                String ename = rs.getString("ename");
                double sal = rs.getDouble("sal");//double类型进行数学运算
                System.out.println(empno + "," + ename + "," + (sal+200));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //6.释放资源(逆序释放)
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }

            }
        }
    }
}
/*结果:
7369,SMITH,800.0
7499,ALLEN,1600.0
7521,WARD,1250.0
7566,JONES,2975.0
7654,MARTIN,1250.0
7698,BLAKE,2850.0
7782,CLARK,2450.0
7788,SCOTT,3000.0
7844,TURNER,1500.0
7876,ADAMS,1100.0
7900,JAMES,950.0
7902,FORD,3000.0
7934,MILLER,1300.0*/
发布了42 篇原创文章 · 获赞 8 · 访问量 2445

猜你喜欢

转载自blog.csdn.net/JH39456194/article/details/103336963
今日推荐