00312_预处理对象executeQuery方法(实现数据库的查询)

Posted Lamfai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了00312_预处理对象executeQuery方法(实现数据库的查询)相关的知识,希望对你有一定的参考价值。

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 }

  运行结果:

  

以上是关于00312_预处理对象executeQuery方法(实现数据库的查询)的主要内容,如果未能解决你的问题,请参考以下文章

PLS-00312:位置参数关联可能不遵循命名关联

ORA-16014 ORA-00312

ora-00327,ora-00312

ORA-16014 与 ORA-00312

多长时间处理executeQuery() 方法?

ORA-16038 ORA-19809 ORA-00312