<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          淺析JDBC的ResultSet接口和使用MySQL語句查詢數(shù)據(jù)

          共 5289字,需瀏覽 11分鐘

           ·

          2021-06-28 10:21

          點擊上方“Java進(jìn)階學(xué)習(xí)交流”,進(jìn)行關(guān)注

          后臺回復(fù)“Java”即可獲贈Java學(xué)習(xí)資料

          平生不會相思,才會相思,便害相思。

          大家好,我是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常用方法

          常用方法:
          1)int getRow():獲取行。
          2)boolean first():光標(biāo)移至ResultSet對象第一行。
          3)void beforeFirst():光標(biāo)移至ResultSet對象第一行之前。
          4)void moveToInsertRow():光標(biāo)移至ResultSet對象插入行。
          5)boolean previous():光標(biāo)移至ResultSet對象上一行。
          6)void insertRow():插入行。
          7)void deleteRow():刪除行。
          8)void close():釋放ResultSet對象數(shù)據(jù)庫和JDBC資源。


          三、通過一個案例了解Statement接口的用法

          1.首先導(dǎo)入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse編輯軟件的當(dāng)前項目右鍵選擇“Bulid Path”,再選擇“Configure Build Path...”,選擇Libraies,在右邊有個“Add External JARs...”按鈕把這個拓展包加進(jìn)來,然后點擊“OK”。具體操作如下圖所示:

          dbc34dc7d72e4fa1ab30dda59b81cf40.webp

          eb6b0eb1a19501a48c68a25683500e54.webp


          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(); } }}

          效果圖如下所示:

          1894041fe5719fc97d1bc48efd991888.webp

          在上面代碼中,首先是加載驅(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)前項目右鍵選擇“Bulid Path”,再選擇“Configure Build Path...”,選擇Libraies,在右邊有個“Add External JARs...”按鈕把這個拓展包加進(jì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(); }????}}

          效果圖如下所示:

          a46927f2b9ed1e6c627842bb72e6dd09.webp

          在上面代碼中,首先是加載驅(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í),對你有所幫助!

          最后需要拓展包的小伙伴,可以在公眾號后臺回復(fù)“拓展包”關(guān)鍵字進(jìn)行獲取。

          我是Java進(jìn)階者,希望大家通過本文的學(xué)習(xí),對你有所幫助!歡迎大家加我微信,有問題可以隨時幫大家解決噢,交個朋友也好哇~

          -------------------?End?-------------------

          往期精彩文章推薦:

          c14c425f547b1cbdc958644d66a20405.webp

          歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Java學(xué)習(xí)群請在后臺回復(fù)【入群

          萬水千山總是情,點個【在看】行不行

          瀏覽 72
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲欧美日韩中文字幕无码 | 天天干天天操天天操 | 丁香综合色 | 五月天无码在线观看 | 成人网站在线浏览 |