企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# JDBC `SELECT`查询示例 > 原文: [https://howtodoinjava.com/java/jdbc/jdbc-select-query-example/](https://howtodoinjava.com/java/jdbc/jdbc-select-query-example/) 在以前的文章中,我们了解了 [**JDBC 驱动的类型**](//howtodoinjava.com/java/jdbc/jdbc-basics-types-of-jdbc-drivers/ "JDBC Basics : Types of JDBC Drivers?")和[**如何使用 JDBC**](//howtodoinjava.com/java/jdbc/jdbc-mysql-database-connection-example/ "JDBC MySQL Database Connection Example") 建立数据库连接。 让我们继续前进,并开始与数据库进行交互。 我要举的第一个示例是 **SQL `SELECT`查询**。 ![JDBC-Icon](https://img.kancloud.cn/1c/97/1c97cbc2085a82c3870087e272080b29_335x146.png) 执行 SQL `SELECT`查询以获取存储在关系数据库中的数据。 它需要执行以下步骤: 1)建立数据库连接 2)执行 SQL 查询 3)从结果集中获取数据 **前提条件**至少包括设置数据库架构和创建表。 ```java CREATE SCHEMA 'JDBCDemo' ; CREATE TABLE 'JDBCDemo'.'EMPLOYEE' ( 'ID' INT NOT NULL DEFAULT 0 , 'FIRST_NAME' VARCHAR(100) NOT NULL , 'LAST_NAME' VARCHAR(100) NULL , 'STAT_CD' TINYINT NOT NULL DEFAULT 0 ); ``` 让我们在代码中编写以上步骤: ## 1)建立数据库连接 尽管我们已经在[建立 JDBC 连接](//howtodoinjava.com/java/jdbc/jdbc-mysql-database-connection-example/ "JDBC MySQL Database Connection Example")中了解了它,但是让我们用这个简单的代码片段来回顾一下。 ```java Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager .getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password"); ``` ## 2)执行 SQL 查询 这是帖子中的主要步骤和核心部分。 它需要创建[**`Statement`**](https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html)对象,然后使用其`executeQuery()`方法。 ```java Statement selectStmt = connection.createStatement(); ResultSet rs = selectStmt .executeQuery("SELECT ID,FIRST_NAME,LAST_NAME,STAT_CD FROM EMPLOYEE WHERE ID <= 10"); ``` ## 3)从结果集中获取数据 您可以使用[**`ResultSet`**](https://docs.oracle.com/javase/6/docs/api/java/sql/ResultSet.html)中提供的各种`getXXX()`方法。 但是,如果要使其通用,请使用`getString()`方法并在需要时解析数据。 ```java ResultSet rs = selectStmt .executeQuery("SELECT ID,FIRST_NAME,LAST_NAME,STAT_CD FROM EMPLOYEE WHERE ID <= 10"); while(rs.next()) { System.out.println(rs.getString(1)); //First Column System.out.println(rs.getString(2)); //Second Column System.out.println(rs.getString(3)); //Third Column System.out.println(rs.getString(4)); //Fourth Column } ``` 让我们看看整个代码在工作。 ```java package com.howtodoinjava.jdbc.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class SelectDataDemo { public static void main(String[] args) { Connection connection = null; Statement insertStmt = null; Statement selectStmt = null; try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password"); /*insertStmt = connection.createStatement(); insertStmt.execute("INSERT INTO EMPLOYEE (ID,FIRST_NAME,LAST_NAME,STAT_CD) VALUES (1,'Lokesh','Gupta',5)"); insertStmt.execute("INSERT INTO EMPLOYEE (ID,FIRST_NAME,LAST_NAME,STAT_CD) VALUES (2,'howtodoinjava','com',5)");*/ selectStmt = connection.createStatement(); ResultSet rs = selectStmt.executeQuery("SELECT ID,FIRST_NAME,LAST_NAME,STAT_CD FROM EMPLOYEE WHERE ID <= 10"); while(rs.next()) { System.out.println(rs.getString(1)); //First Column System.out.println(rs.getString(2)); //Second Column System.out.println(rs.getString(3)); //Third Column System.out.println(rs.getString(4)); //Fourth Column } } catch (Exception e) { e.printStackTrace(); }finally { try { selectStmt.close(); insertStmt.close(); connection.close(); } catch (Exception e) { e.printStackTrace(); } } } } Output: 1 Lokesh Gupta 5 2 howtodoinjava com 5 ``` 以上就是这篇文章。 如果需要解释,请给我评论。 **快乐学习!**