# 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](img/353e2fc90002c7f65b66549c16f491fa.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

```

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

**快乐学习！**