淺析JDBC的ResultSet接口和使用MySQL語句查詢數(shù)據(jù)
平生不會相思,才會相思,便害相思。
大家好,我是Java進(jìn)階者,今天給大家繼續(xù)分享JDBC技術(shù)。
一、前言
在《淺析JDBC常用的接口——JDBC的Statement接口、PreparedStatement接口》文章中,我們介紹了使用Java語言來執(zhí)行SQL語句。本文主要給大家介紹在Java語言中,通過執(zhí)行SQL語句后,如何使用ResultSet接口來獲取表中的數(shù)據(jù)、使用MySQL語句查詢表中的數(shù)據(jù),接下來小編帶大家一起來學(xué)習(xí)!
二、ResultSet接口
1.ResultSet接口是用于生成數(shù)據(jù)庫結(jié)果集的數(shù)據(jù)表。它是由Statement對象的executeQuery()方法產(chǎn)生的結(jié)果集。ResultSet對象具有一個指向當(dāng)前數(shù)據(jù)行的光標(biāo),使用next()方法可以把光標(biāo)移到下一行中。
2.ResultSet對象在當(dāng)前行獲取列值使用的方法,例如getBoolean()、getInt()、getString()等等,可以使用列的名稱來獲取列值。
3.ResultSet常用方法
常用方法:
三、通過一個案例了解Statement接口的用法
1.首先導(dǎo)入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse編輯軟件的當(dāng)前項(xiàng)目右鍵選擇“Bulid Path”,再選擇“Configure Build Path...”,選擇Libraies,在右邊有個“Add External JARs...”按鈕把這個拓展包加進(jìn)來,然后點(diǎn)擊“OK”。具體操作如下圖所示:
2.在上面介紹了Statement接口的基礎(chǔ)知識,接下來,小編通過一個案例帶大家一起了解Statement接口的用法,代碼如下所示:
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- public class Example27 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String driver="com.mysql.jdbc.Driver";
- try {
- //加載驅(qū)動
- Class.forName(driver);
- //數(shù)據(jù)庫地址,本機(jī)、端口號3306、數(shù)據(jù)庫名為test
- String url="jdbc:mysql://localhost:3306/test";
- //用戶名
- String user="root";
- //密碼
- String pwd="168168";
- //連接數(shù)據(jù)庫
- Connection conn=DriverManager.getConnection(url,user,pwd);
- //創(chuàng)建Statement對象
- Statement stmt=conn.createStatement();
- String sql="select * from student where id='A02'";
- //執(zhí)行SQL語句
- ResultSet rs=stmt.executeQuery(sql);
- //獲取id為A02的數(shù)據(jù)
- if(rs.next()){
- System.out.println("id="+rs.getString("id"));
- System.out.println("name="+rs.getString("name"));
- System.out.println("age="+rs.getInt("age"));
- }
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
效果圖如下所示:
在上面代碼中,首先是加載驅(qū)動程序,之后,創(chuàng)建數(shù)據(jù)庫的連接,再接著創(chuàng)建Statement對象聲明SQL語句對象,使用createStatement()方法,最后執(zhí)行SQL語句,使用executeQuery()方法,返回的結(jié)果存放在一個ResultSet對象,調(diào)用該對象next()方法獲取id為“A02”的數(shù)據(jù)。
四、MySQL語句查詢數(shù)據(jù)具體步驟
對MySQL數(shù)據(jù)庫表中進(jìn)行查詢操作具體步驟如下所示:
1)使用Statement對象創(chuàng)建一個SQL語句對象,使用createStatement()方法。代碼如下所示:
- Statement s = conn.createStatement();
2)使用executeQuery()方法執(zhí)行SQL語句,返回的結(jié)果存放在一個ResultSet對象。代碼如下所示:
- String sql="select * from student";
- ResultSet rs=s.executeQuery(sql);
3)使用ResultSet對象的next()方法,判斷有沒有記錄,沒有記錄則返回false,說明ResultSet對象沒有任何記錄。如果有記錄返回是true,可以使用當(dāng)前行獲取列值方法來獲取記錄中的信息。
4)可以使用while循環(huán)依次獲取所有記錄中的數(shù)據(jù)。
五、通過一個案例了解使用MySQL語句查詢數(shù)據(jù)的用法
1.首先導(dǎo)入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse編輯軟件的當(dāng)前項(xiàng)目右鍵選擇“Bulid Path”,再選擇“Configure Build Path...”,選擇Libraies,在右邊有個“Add External JARs...”按鈕把這個拓展包加進(jìn)來,然后點(diǎn)擊“OK”。具體操作的圖片在上面。
2.在上面介紹了MySQL語句查詢數(shù)據(jù)具體步驟,接下來,小編通過一個案例帶大家一起了解使用MySQL語句查詢數(shù)據(jù)的用法,代碼如下所示:
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- public class Example28 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String driver="com.mysql.jdbc.Driver";
- try {
- //加載驅(qū)動
- Class.forName(driver);
- //數(shù)據(jù)庫地址,本機(jī)、端口號3306、數(shù)據(jù)庫名為test
- String url="jdbc:mysql://localhost:3306/test";
- //用戶名
- String user="root";
- //密碼
- String pwd="168168";
- //連接數(shù)據(jù)庫
- Connection conn=DriverManager.getConnection(url,user,pwd);
- //創(chuàng)建Statement對象
- Statement stmt=conn.createStatement();
- String sql="select * from student";
- //執(zhí)行SQL語句
- ResultSet rs=stmt.executeQuery(sql);
- //使用while循環(huán)獲取所有記錄中的數(shù)據(jù)。
- while(rs.next()){
- System.out.println("id="+rs.getString("id"));
- System.out.println("name="+rs.getString("name"));
- System.out.println("age="+rs.getInt("age"));
- }
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
效果圖如下所示:
在上面代碼中,首先是加載驅(qū)動程序,之后,創(chuàng)建數(shù)據(jù)庫的連接,再接著創(chuàng)建Statement對象聲明SQL語句對象,使用createStatement()方法,最后執(zhí)行SQL語句,使用executeQuery()方法,返回的結(jié)果存放在一個ResultSet對象,調(diào)用該對象next()方法使用while循環(huán)獲取student表中的所有記錄中的數(shù)據(jù)。
六、總結(jié)
1.本文介紹了ResultSet接口和使用MySQL語句查詢數(shù)據(jù)。
2.ResultSet接口是用于生成數(shù)據(jù)庫結(jié)果集的數(shù)據(jù)表。它是由Statement對象的executeQuery()方法產(chǎn)生的結(jié)果集。ResultSet對象具有一個指向當(dāng)前數(shù)據(jù)行的光標(biāo),使用next()方法可以把光標(biāo)移到下一行中。文中介紹了它的常用方法的使用,并通過一個案例來幫助大家了解Statement接口的用法。
3.本文還介紹了MySQL語句查詢數(shù)據(jù)的具體步驟,并通過一個案例來幫助大家理解使用MySQL語句查詢數(shù)據(jù)的用法。
4.希望大家通過本文的學(xué)習(xí),對你有所幫助!