遍歷結果集:
案例5:JDBC如何獲取查詢返回結果集:
package com.java.JDBC; import java.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.jdbc.Driver"); // 2 獲取連接 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase","root","333"); // 3 獲取數據庫操作對象 stmt = conn.createStatement(); // 4 執行sql語句 String sql = "select empno as a,ename,sal from emp"; // int executeQuery(select); // ResultSet executeUpdate(insert/update/delete); rs = stmt.executeQuery(sql);// 專門執行DQL語句的方法 // 5 處理查詢結果集 /*boolean flag = rs.next(); // System.out.println(flag);// true if(flag){ // 光標指向的行有數據 // 取數據 // getString()方法的特點是:不管數據庫中的數據類型是什么,都以String的形式取出。 // 以下程序中的 1 2 3 說的是第幾列 String empno = rs.getString(1);// JDBC中所有下標從1開始。不是從0開始 String ename = rs.getString(2); String sal = rs.getString(3); System.out.println(empno + " " + ename + " " + sal); }*/ while (rs.next()){ /*String empno = rs.getString(1); String ename = rs.getString(2); String sal = rs.getString(3);*/ /*// 這個不是以列的下標獲取 String empno = rs.getString("a");// 重點注意:列名稱不是表中的列名稱,是查詢結果的列名稱 String ename = rs.getString("ename"); String sal = rs.getString("sal"); System.out.println(empno + " " + ename + " " + sal);*/ int empno = rs.getInt("a");// 重點注意:列名稱不是表中的列名稱,是查詢結果的列名稱 String ename = rs.getString("ename"); double sal = rs.getDouble("sal"); System.out.println(empno + " " + ename + " " + sal + 100 ); } } 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(); } } } } }