JDBC SELECT查询示例

JDBC SELECT查询示例

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

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

JDBC-Icon

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

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

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

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 连接中了解了它,但是让我们用这个简单的代码片段来回顾一下。

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

2)执行 SQL 查询

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

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

3)从结果集中获取数据

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

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
}

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

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

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

快乐学习!