<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常用的接口——JDBC的Statement接口、PreparedStatement接口

          共 5389字,需瀏覽 11分鐘

           ·

          2021-05-17 11:10

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

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

          山無陵,江水為竭,冬雷震震,夏雨雪,天地合,乃敢與君絕。

          大家好,我是Java進(jìn)階者。今天給大家繼續(xù)分享JDBC技術(shù)。

          一、前言

          在《淺析JDBC常用的類和接口——JDBC的Driver接口、DriverManager類、Connection接口》文章中,我們介紹了使用Java語言來連接數(shù)據(jù)庫。本文主要給大家介紹在Java中,通過連接數(shù)據(jù)庫之后,如何來執(zhí)行SQL的語句,接下來小編帶大家一起來學(xué)習(xí)!


          二、Statement接口

          1.Statement接口是用于執(zhí)行不帶參數(shù)的比較簡(jiǎn)單SQL的語句。Statement對(duì)象是由Connection對(duì)象方法createStatement()創(chuàng)建,該對(duì)象會(huì)把SQL語句傳遞給數(shù)據(jù)庫執(zhí)行,然后返回?cái)?shù)據(jù)庫處理的結(jié)果。

          2.Statement常用的方法

          常用的方法:
          1)boolean execute(String sql):執(zhí)行給定的SQL語句。
          2)ResultSet executeQuery(String sql):執(zhí)行給定的SQL查詢語句。
          3)int executeUpdate(String sql):執(zhí)行數(shù)據(jù)更新SQL語句。
          4)Connection getConnection():獲取數(shù)據(jù)庫的連接。
          5)int getMaxRows():獲取最大行數(shù)。
          6)ResultSet getResultSet():獲取ResultSet對(duì)象。
          7)void close():立即釋放連接和JDBC資源。


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

          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)來,然后點(diǎn)擊“OK”。具體操作如下圖所示:

          2.在上面介紹了Statement接口的基礎(chǔ)知識(shí)點(diǎn),接下來,小編通過一個(gè)案例帶大家一起了解Statement接口的用法,代碼如下所示:

          import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;

          public class Example26 { public static void main(String[] args) { // TODO Auto-generated method stub String driver="com.mysql.jdbc.Driver"; try { //加載驅(qū)動(dòng) Class.forName(driver); //數(shù)據(jù)庫地址,本機(jī)、端口號(hào)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對(duì)象 Statement stmt=conn.createStatement(); String sql="select * from student"; //執(zhí)行SQL語句 stmt.executeQuery(sql); System.out.println(stmt); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
          }

          效果圖如下所示:

          在上面代碼中,首先是加載驅(qū)動(dòng)程序,之后,進(jìn)行Mysql數(shù)據(jù)庫的連接,創(chuàng)建Statement對(duì)象,使用executeQuery()方法執(zhí)行SQL語句。


          四、PreparedStatement接口

          1.PreparedStatement接口是用于預(yù)執(zhí)行SQL語句的對(duì)象。SQL語句預(yù)編譯存儲(chǔ)在PreparedStatement對(duì)象中,可以使用PreparedStatement對(duì)象多次高效執(zhí)行SQL語句。

          2.PreparedStatement常用的方法

          常用的方法:
          1)void addBatch():將一組參數(shù)添加到此 PreparedStatement 對(duì)象的批處理命令中。
          2)void setDouble(int parameterIndex, double x):將指定參數(shù)設(shè)置為給定 Java double 值。
          3)void setFloat(int parameterIndex, float x):將指定參數(shù)設(shè)置為給定 Java REAL 值。
          4)void setInt(int parameterIndex, int x):將指定參數(shù)設(shè)置為給定 Java int 值。
          5)void setLong(int parameterIndex, long x):將指定參數(shù)設(shè)置為給定 Java long 值。
          6)void setString(int parameterIndex, String x):將指定參數(shù)設(shè)置為給定 Java String 值。
          7)void setObject(int parameterIndex, Object x):使用給定對(duì)象設(shè)置指定參數(shù)的值
          8)boolean execute():在此 PreparedStatement 對(duì)象中執(zhí)行 SQL 語句,該語句可以是任何種類的 SQL 語句。
          9)ResultSet executeQuery():在此 PreparedStatement 對(duì)象中執(zhí)行 SQL 查詢,并返回該查詢生成的 ResultSet 對(duì)象。
          10)int executeUpdate():在此 PreparedStatement 對(duì)象中執(zhí)行 SQL 語句,該語句必須是一個(gè) SQL 數(shù)據(jù)操作語言(Data Manipulation Language,DML)語句,比如 INSERT、UPDATE 或 DELETE 語句;或者是無返回內(nèi)容的 SQL 語句,比如 DDL 語句。

          上述方法引用自文檔《JavaTM Platform Standard Ed. 6》


          五、通過一個(gè)案例了解PreparedStatement接口的用法

          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)來,然后點(diǎn)擊“OK”。具體操作的圖片在上面。

          2.在上面介紹了PreparedStatement接口的基礎(chǔ)知識(shí)點(diǎn),接下來,小編通過一個(gè)案例帶大家一起了解PreparedStatement接口的用法,代碼如下所示:

          import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;
          public class Example25 { public static void main(String[] args) { //定義一個(gè)字符串來保存com.mysql.jdbc的Driver類路徑 String driver="com.mysql.jdbc.Driver"; try { //加載驅(qū)動(dòng) Class.forName(driver); //數(shù)據(jù)庫地址,本機(jī)、端口號(hào)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)建PreparedStatement對(duì)象 PreparedStatement pst=conn.prepareStatement("select * from student where id=?"); String id="A11"; pst.setString(1,id); System.out.println(pst); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}

          效果圖如下所示:

          在上面代碼中,首先是加載驅(qū)動(dòng)程序,之后進(jìn)行Mysql數(shù)據(jù)庫的連接,創(chuàng)建PreparedStatement對(duì)象包含了"select * from student where id=?",它發(fā)送給數(shù)據(jù)庫管理系統(tǒng),并且為執(zhí)行做了準(zhǔn)備。


          六、總結(jié)

          1.本文介紹了JDBC的Statement和PreparedStatement接口。

          2.Statement接口是用于執(zhí)行不帶參數(shù)的比較簡(jiǎn)單SQL的語句。Statement對(duì)象是由Connection對(duì)象方法createStatement()創(chuàng)建,該對(duì)象會(huì)把SQL語句傳遞給數(shù)據(jù)庫執(zhí)行,然后返回?cái)?shù)據(jù)庫處理的結(jié)果。文中介紹了它的常用方法的使用,并通過一個(gè)案例來幫助大家了解Statement接口的用法。

          3.PreparedStatement接口是用于預(yù)執(zhí)行SQL語句的對(duì)象。SQL語句預(yù)編譯存儲(chǔ)在PreparedStatement對(duì)象中,可以使用PreparedStatement對(duì)象多次高效執(zhí)行SQL語句。文中介紹了它的常用方法的使用,并通過一個(gè)案例來幫助大家了解PreparedStatement接口的用法。

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

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

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

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

          往期精彩文章推薦:

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

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

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

          瀏覽 84
          點(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>
                  欧美操逼没码 | 日韩人妻人操 | www.黄色电影 | 韩国的毛片 | 色操色|