<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中Statement接口實(shí)現(xiàn)查詢數(shù)據(jù)、添加數(shù)據(jù)

          共 6831字,需瀏覽 14分鐘

           ·

          2021-06-05 13:30

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

          后臺(tái)回復(fù)“Java”即可獲贈(zèng)Java學(xué)習(xí)資料

          人生自是有情癡,此恨不關(guān)風(fēng)與月。

          大家好,我是Java進(jìn)階者,今天給大家介紹的是如何使用Statement接口實(shí)現(xiàn)查詢查詢數(shù)據(jù)、添加數(shù)據(jù)。

          一、前言

          在JDBC技術(shù)中,不同的數(shù)據(jù)庫(kù)需要不同的驅(qū)動(dòng)程序,先加載驅(qū)動(dòng)程序,接著數(shù)據(jù)庫(kù)的連接后,再使用SQL語(yǔ)句來(lái)執(zhí)行數(shù)據(jù)庫(kù)。本文給大家介紹的是如何使用Statement接口實(shí)現(xiàn)查詢查詢數(shù)據(jù)、添加數(shù)據(jù),接下來(lái),小編帶大家一起來(lái)學(xué)習(xí)!


          二、JDBC的基本應(yīng)用

          1.在程序中和某個(gè)數(shù)據(jù)庫(kù)進(jìn)行連接之后,可以使用SQL語(yǔ)句和該數(shù)據(jù)庫(kù)中的表進(jìn)行交互信息,例如,通過(guò)增、刪、改、查的方式來(lái)操作表中的記錄。這些交互是通過(guò)JDBC的一個(gè)API接口實(shí)現(xiàn)的。JDBC提供的Statement接口向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句,執(zhí)行SQL語(yǔ)句返回一個(gè)結(jié)果保存在一個(gè)ResultSet對(duì)象中,調(diào)用該對(duì)象的next()方法來(lái)獲取數(shù)據(jù)。

          2.使用Statement接口查詢數(shù)據(jù)的步驟如下所示:

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


          2)使用Class.forName()方法來(lái)加載驅(qū)動(dòng)程序。

          3)成功加載驅(qū)動(dòng)程序后,Class.forName()方法向DriverManager注冊(cè)自己,接著使用getConnection()方法和數(shù)據(jù)庫(kù)進(jìn)行連接,返回一個(gè)Connection對(duì)象。

          4)使用Connection對(duì)象的createStatement()方法創(chuàng)建一個(gè)Statement對(duì)象。

          5)使用Statement對(duì)象調(diào)用executeQuery()方法查詢數(shù)據(jù)庫(kù)表,把查詢的結(jié)果存儲(chǔ)在一個(gè)ResultSet對(duì)象。

          6)使用ResultSet對(duì)象的next()方法,獲取表中的數(shù)據(jù)。


          三、通過(guò)一個(gè)案例了解Statement接口查詢數(shù)據(jù)的用法

          1.在上面介紹了Statement接口查詢數(shù)據(jù)的具體步驟,接下來(lái),小編帶著大家一起來(lái)了解Statement接口查詢數(shù)據(jù)的用法,student表中的數(shù)據(jù)和代碼如下所示:

          student表中的數(shù)據(jù):

          代碼:

          import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Scanner;
          public class Example30 {
          public static void main(String[] args) { System.out.println("請(qǐng)輸入你要查詢的ID:"); Scanner sc=new Scanner(System.in); String input=sc.next(); String driver="com.mysql.jdbc.Driver"; try { //加載驅(qū)動(dòng) Class.forName(driver); //數(shù)據(jù)庫(kù)地址,本機(jī)、端口號(hào)3306、數(shù)據(jù)庫(kù)名為test String url="jdbc:mysql://localhost:3306/test"; //用戶名 String user="root"; //密碼 String pwd="168168"; //連接數(shù)據(jù)庫(kù) Connection conn=DriverManager.getConnection(url,user,pwd); //創(chuàng)建Statement對(duì)象 Statement stmt=conn.createStatement(); String sql="select * from student where id='"+input+"'"; //執(zhí)行SQL語(yǔ)句 ResultSet rs=stmt.executeQuery(sql); //根據(jù)用戶輸入的ID值獲取數(shù)據(jù) if(rs.next()){ System.out.println("id:"+rs.getString("id")+" name:"+rs.getString("name")+" age:"+rs.getInt("age")); }else{ System.out.println("你輸入的ID不存在!"); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}

          效果圖如下所示:

          在上面代碼中,首先是加載驅(qū)動(dòng)程序,之后使用getConnection()方法來(lái)連接數(shù)據(jù)庫(kù),創(chuàng)建Statement對(duì)象,調(diào)用Connection對(duì)象的createStatement()方法創(chuàng)建這個(gè)MySQL語(yǔ)句對(duì)象,在這個(gè)對(duì)象調(diào)用executeQuery()方法來(lái)處理查詢的結(jié)果。


          四、Statement接口添加數(shù)據(jù)實(shí)現(xiàn)步驟

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


          2.使用Class.forName()方法來(lái)加載驅(qū)動(dòng)程序。

          3.成功加載驅(qū)動(dòng)程序后,Class.forName()方法向DriverManager注冊(cè)自己,接著使用getConnection()方法和數(shù)據(jù)庫(kù)進(jìn)行連接,返回一個(gè)Connection對(duì)象。

          4.使用Connection對(duì)象的createStatement()方法創(chuàng)建一個(gè)Statement對(duì)象。

          5.使用Statement對(duì)象調(diào)用executeUpdate()方法查詢數(shù)據(jù)庫(kù)表,把查詢的結(jié)果存儲(chǔ)在一個(gè)ResultSet對(duì)象。

          6.使用ResultSet對(duì)象的next()方法,獲取表中的數(shù)據(jù)。


          五、通過(guò)一個(gè)案例了解Statement接口添加數(shù)據(jù)的用法

          1.在上面介紹了Statement接口添加數(shù)據(jù)的實(shí)現(xiàn)步驟,接下來(lái),小編帶著大家一起來(lái)了解Statement接口添加數(shù)據(jù)的用法,代碼如下所示:

          import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Scanner;
          public class Example31 {
          public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("請(qǐng)輸入你要添加的ID:"); String id=sc.next(); System.out.println("請(qǐng)輸入你要添加的Name:"); String name=sc.next(); System.out.println("請(qǐng)輸入你要添加的Age:"); int age=sc.nextInt(); String driver="com.mysql.jdbc.Driver"; try { //加載驅(qū)動(dòng) Class.forName(driver); //數(shù)據(jù)庫(kù)地址,本機(jī)、端口號(hào)3306、數(shù)據(jù)庫(kù)名為test String url="jdbc:mysql://localhost:3306/test"; //用戶名 String user="root"; //密碼 String pwd="168168"; //連接數(shù)據(jù)庫(kù) Connection conn=DriverManager.getConnection(url,user,pwd); //創(chuàng)建Statement對(duì)象 Statement stmt=conn.createStatement(); String sql="insert into student values('"+id+"','"+name+"',"+age+")"; //執(zhí)行SQL語(yǔ)句 stmt.executeUpdate(sql); sql="select * from student where id='"+id+"'"; //執(zhí)行SQL語(yǔ)句 ResultSet rs=stmt.executeQuery(sql); //根據(jù)ID值獲取數(shù)據(jù) if(rs.next()){ System.out.println("id:"+rs.getString("id")+" name:"+rs.getString("name")+" age:"+rs.getInt("age")); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }   }}

          效果圖如下所示:

          表中的數(shù)據(jù):

          在上面代碼中,首先是加載驅(qū)動(dòng)程序,之后使用getConnection()方法來(lái)連接數(shù)據(jù)庫(kù),創(chuàng)建Statement對(duì)象,調(diào)用Connection對(duì)象的createStatement()方法創(chuàng)建這個(gè)MySQL語(yǔ)句對(duì)象,在這個(gè)對(duì)象調(diào)用executeUpdate方法來(lái)處理。


          六、總結(jié)

          1.本文介紹了Statement接口實(shí)現(xiàn)查詢數(shù)據(jù)、添加數(shù)據(jù)。

          2.在JDBC的基本應(yīng)用中,介紹了使用Statement接口查詢和添加數(shù)據(jù)的步驟。重點(diǎn)在于使用getConnection()方法來(lái)連接數(shù)據(jù)庫(kù),創(chuàng)建Statement對(duì)象,調(diào)用Connection對(duì)象的createStatement()方法創(chuàng)建這個(gè)MySQL語(yǔ)句對(duì)象。

          3.針對(duì)接口查詢數(shù)據(jù),在這個(gè)對(duì)象調(diào)用executeQuery()方法來(lái)處理查詢的結(jié)果;針對(duì)接口添加數(shù)據(jù),在這個(gè)對(duì)象調(diào)用executeUpdate方法來(lái)處理。并通過(guò)一個(gè)具體的案例來(lái)幫助大家了解它的用法。

          4.希望大家通過(guò)本文的學(xué)習(xí),對(duì)你有所幫助!

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

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

          ------------------- End -------------------

          往期精彩文章推薦:

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

          想加入Java學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群

          萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行

          瀏覽 73
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  wwwav在线观看 | 日韩欧美一级精品久久 | 99久久婷婷国产精品综合 | 国产精品久久一区二区三区影音先锋 | 色婷婷亚洲精品天天综合 |