1、概述
(1)通過預處理對象的executeQuery方法,完成記錄的select語句的執行;
(2)操作格式統一如下:
①注冊驅動;
②獲取連接;
③獲取預處理對象;
④SQL語句占位符設置實際參數;
⑤執行SQL語句;
⑥處理結果集(遍歷結果集合);
⑦釋放資源。
(3)查詢記錄:select
①實現查詢分類表所有記錄
1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.PreparedStatement; 4 import java.sql.ResultSet; 5 6 public class Demo04 { 7 public static void main(String[] args) throws Exception { 8 // 1注冊驅動 9 Class.forName("com.mysql.jdbc.Driver"); 10 // 2獲取連接 11 Connection conn = DriverManager.getConnection( 12 "jdbc:mysql://localhost:3306/mybase", "root", "root"); 13 // 3獲得預處理對象 14 String sql = "select * from sort"; 15 PreparedStatement stat = conn.prepareStatement(sql); 16 // 4 SQL語句占位符設置實際參數 17 // 5執行SQL語句 18 ResultSet rs = stat.executeQuery(); 19 // 6處理結果集(遍歷結果集合) 20 while (rs.next()) { 21 // 獲取當前行的分類ID 22 String sid = rs.getString("sid");// 方法參數為數據庫表中的列名 23 // 獲取當前行的分類名稱 24 String sname = rs.getString("sname"); 25 // 顯示數據 26 System.out.println(sid + "-----" + sname); 27 } 28 // 7釋放資源 29 rs.close(); 30 stat.close(); 31 conn.close(); 32 33 } 34 }
運行結果:
②實現查詢分類表中指定分類名稱的記錄
1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.PreparedStatement; 4 import java.sql.ResultSet; 5 6 public class Demo05 { 7 public static void main(String[] args) throws Exception { 8 // 1注冊驅動 9 Class.forName("com.mysql.jdbc.Driver"); 10 // 2獲取連接 11 Connection conn = DriverManager.getConnection( 12 "jdbc:mysql://localhost:3306/mybase", "root", "root"); 13 // 3獲得預處理對象 14 String sql = "select * from sort where sname=?"; 15 PreparedStatement stat = conn.prepareStatement(sql); 16 // 4 SQL語句占位符設置實際參數 17 stat.setString(1, "空調"); 18 // 5執行SQL語句 19 ResultSet rs = stat.executeQuery(); 20 // 6處理結果集(遍歷結果集合) 21 while (rs.next()) { 22 // 獲取當前行的分類ID 23 String sid = rs.getString("sid");// 方法參數為數據庫表中的列名 24 // 獲取當前行的分類名稱 25 String sname = rs.getString("sname"); 26 // 顯示數據 27 System.out.println(sid + "-----" + sname); 28 } 29 // 7釋放資源 30 rs.close(); 31 stat.close(); 32 conn.close(); 33 34 } 35 }
運行結果: