更新時間:2022-04-24 11:03:10 來源:動力節(jié)點 瀏覽2999次
在之前的文章中,我們了解了 JDBC 驅(qū)動程序的類型以及如何使用 JDBC 建立數(shù)據(jù)庫連接。讓我們繼續(xù)前進(jìn)并開始與數(shù)據(jù)庫交互。動力節(jié)點小編拿起的第一個例子是SQL SELECT 查詢。
執(zhí)行 SQL SELECT 查詢以獲取存儲在關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)。它需要以下步驟:
建立數(shù)據(jù)庫連接
執(zhí)行 SQL 查詢
從結(jié)果集中獲取數(shù)據(jù)
先決條件包括設(shè)置數(shù)據(jù)庫模式和至少創(chuàng)建一個表。
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
);
讓我們在代碼中編寫上述步驟:
雖然我們在建立 JDBC 連接時已經(jīng)了解了它,但讓我們用這個簡單的代碼片段來回顧一下。
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password");
這是帖子的主要步驟和核心部分。它需要創(chuàng)建一個Statement對象,然后使用它的executeQuery()方法。
Statement selectStmt = connection.createStatement();
ResultSet rs = selectStmt
.executeQuery("SELECT ID,FIRST_NAME,LAST_NAME,STAT_CD FROM EMPLOYEE WHERE ID <= 10");
您可以使用ResultSet中可用的各種 getXXX() 方法。但是,如果您想使其通用,請使用 getString() 方法并在需要時解析數(shù)據(jù)。
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
通過上述介紹相信大家對Java查詢數(shù)據(jù)庫的步驟已經(jīng)有所了解,大家如果想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點的Java教程,里面的課程由淺到深,很適合小白學(xué)習(xí),希望對大家能夠有所幫助哦。
相關(guān)閱讀