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 }
运行结果: