原文: https://howtodoinjava.com/java/jdbc/jdbc-select-query-example/

在以前的文章中,我们了解了 JDBC 驱动的类型如何使用 JDBC 建立数据库连接。 让我们继续前进,并开始与数据库进行交互。 我要举的第一个示例是 SQL SELECT查询

JDBC `SELECT`查询示例 - 图1

执行 SQL SELECT查询以获取存储在关系数据库中的数据。 它需要执行以下步骤:

1)建立数据库连接
2)执行 SQL 查询
3)从结果集中获取数据

前提条件至少包括设置数据库架构和创建表。

  1. CREATE SCHEMA 'JDBCDemo' ;
  2. CREATE TABLE 'JDBCDemo'.'EMPLOYEE'
  3. (
  4. 'ID' INT NOT NULL DEFAULT 0 ,
  5. 'FIRST_NAME' VARCHAR(100) NOT NULL ,
  6. 'LAST_NAME' VARCHAR(100) NULL ,
  7. 'STAT_CD' TINYINT NOT NULL DEFAULT 0
  8. );

让我们在代码中编写以上步骤:

1)建立数据库连接

尽管我们已经在建立 JDBC 连接中了解了它,但是让我们用这个简单的代码片段来回顾一下。

  1. Class.forName("com.mysql.jdbc.Driver");
  2. connection = DriverManager
  3. .getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password");

2)执行 SQL 查询

这是帖子中的主要步骤和核心部分。 它需要创建Statement对象,然后使用其executeQuery()方法。

  1. Statement selectStmt = connection.createStatement();
  2. ResultSet rs = selectStmt
  3. .executeQuery("SELECT ID,FIRST_NAME,LAST_NAME,STAT_CD FROM EMPLOYEE WHERE ID <= 10");

3)从结果集中获取数据

您可以使用ResultSet中提供的各种getXXX()方法。 但是,如果要使其通用,请使用getString()方法并在需要时解析数据。

  1. ResultSet rs = selectStmt
  2. .executeQuery("SELECT ID,FIRST_NAME,LAST_NAME,STAT_CD FROM EMPLOYEE WHERE ID <= 10");
  3. while(rs.next())
  4. {
  5. System.out.println(rs.getString(1)); //First Column
  6. System.out.println(rs.getString(2)); //Second Column
  7. System.out.println(rs.getString(3)); //Third Column
  8. System.out.println(rs.getString(4)); //Fourth Column
  9. }

让我们看看整个代码在工作。

  1. package com.howtodoinjava.jdbc.demo;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.Statement;
  6. public class SelectDataDemo {
  7. public static void main(String[] args) {
  8. Connection connection = null;
  9. Statement insertStmt = null;
  10. Statement selectStmt = null;
  11. try
  12. {
  13. Class.forName("com.mysql.jdbc.Driver");
  14. connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password");
  15. /*insertStmt = connection.createStatement();
  16. insertStmt.execute("INSERT INTO EMPLOYEE (ID,FIRST_NAME,LAST_NAME,STAT_CD) VALUES (1,'Lokesh','Gupta',5)");
  17. insertStmt.execute("INSERT INTO EMPLOYEE (ID,FIRST_NAME,LAST_NAME,STAT_CD) VALUES (2,'howtodoinjava','com',5)");*/
  18. selectStmt = connection.createStatement();
  19. ResultSet rs = selectStmt.executeQuery("SELECT ID,FIRST_NAME,LAST_NAME,STAT_CD FROM EMPLOYEE WHERE ID <= 10");
  20. while(rs.next())
  21. {
  22. System.out.println(rs.getString(1)); //First Column
  23. System.out.println(rs.getString(2)); //Second Column
  24. System.out.println(rs.getString(3)); //Third Column
  25. System.out.println(rs.getString(4)); //Fourth Column
  26. }
  27. }
  28. catch (Exception e) {
  29. e.printStackTrace();
  30. }finally {
  31. try {
  32. selectStmt.close();
  33. insertStmt.close();
  34. connection.close();
  35. } catch (Exception e) {
  36. e.printStackTrace();
  37. }
  38. }
  39. }
  40. }
  41. Output:
  42. 1
  43. Lokesh
  44. Gupta
  45. 5
  46. 2
  47. howtodoinjava
  48. com
  49. 5

以上就是这篇文章。 如果需要解释,请给我评论。

快乐学习!