日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

java中Statement 與 PreparedStatement接口之間的關(guān)系和區(qū)別

瀏覽:18日期:2022-08-28 17:17:10

Statement 和 PreparedStatement之間的關(guān)系和區(qū)別.

關(guān)系:PreparedStatement繼承自Statement,都是接口 區(qū)別:PreparedStatement可以使用占位符,是預(yù)編譯的,批處理比Statement效率高

詳解:

1、PreparedStatement:表示預(yù)編譯的 SQL 語句的對象。

接口:public interface PreparedStatement extends Statement之間的繼承關(guān)系 SQL 語句被預(yù)編譯并存儲在 PreparedStatement 對象中。然后可以使用此對象多次高效地執(zhí)行該語句。 注:用于設(shè)置 IN 參數(shù)值的設(shè)置方法(setShort、setString 等等)必須指定與輸入?yún)?shù)的已定義 SQL 類型兼容的類型。例如,如果 IN 參數(shù)具有 SQL 類型 INTEGER,那么應(yīng)該使用 setInt 方法,問號的位置也是應(yīng)該注意的,因為第一個問好的位置為1,第二個問號的位置為2.以此類推。 如果需要任意參數(shù)類型轉(zhuǎn)換,使用 setObject 方法時應(yīng)該將目標(biāo) SQL 類型作為其參數(shù)。 在以下設(shè)置參數(shù)的示例中,con 表示一個活動連接: PreparedStatement pstmt = con.prepareStatement('UPDATE EMPLOYEES SALARY = ? WHERE ID = ?'); pstmt.setBigDecimal(1, 1533.00) pstmt.setInt(2, 1102) pstmt.execute()//注意提交時這里不能再有sql語句,不同于Statment

演示代碼:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.Statement;public class PreparedStatementTest {public static void main(String[] args) {test_autoCommit();}public static void test_autoCommit(){String driver='oracle.jdbc.driver.OracleDriver';String url='jdbc:oracle:thin:@127.0.0.1:1521:orcl';String user='briup';String password='briup';Connection conn=null;PreparedStatement ps=null;try {//1、注冊驅(qū)動Class.forName(driver);//2、獲取連接 conn= DriverManager.getConnection(url, user, password); //System.out.println(conn);//3、創(chuàng)建prepareStatement對象 String sql='insert into lover values(?,?,?)'; ps=conn.prepareStatement(sql); //4、執(zhí)行sql語句 ps.setInt(1,21);//代表設(shè)置給第一個?號位置的值為Int類型的21 ps.setString(2,'suwu150');//代表設(shè)置給第二個?號位置的值為String類型的suwu150 java.util.Date utilDate=new java.util.Date();//進(jìn)行類型轉(zhuǎn)換,由util類型的date轉(zhuǎn)化為sql類型的 ps.setDate(3, new java.sql.Date(utilDate.getTime())); //ps.execute();//執(zhí)行 System.out.println(ps.execute());//執(zhí)行表輸出返回的結(jié)果,結(jié)果為false,因為沒有返回的結(jié)果集 //5、處理結(jié)果集} catch (Exception e) {e.printStackTrace();}finally{//6、關(guān)閉資源try {if(ps!=null)ps.close();} catch (SQLException e) {e.printStackTrace();}try {if(conn!=null)conn.close();} catch (SQLException e) {e.printStackTrace();}}}}

插入之后的結(jié)果

java中Statement 與 PreparedStatement接口之間的關(guān)系和區(qū)別

2、Statement:用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結(jié)果的對象。

接口:public interface Statement extends Wrapper在默認(rèn)情況下,同一時間每個 Statement 對象只能打開一個 ResultSet 對象。因此,如果讀取一個 ResultSet 對象與另一個交叉,則這兩個對象必須是由不同的 Statement 對象生成的。如果存在某個語句的打開的當(dāng)前 ResultSet 對象,則 Statement 接口中的所有執(zhí)行方法都會隱式關(guān)閉它。 如以下操作:創(chuàng)建statement對象 Statement stat=conn.createStatement(); String sql='insert into lover values(6,’suxingxing’,to_date(’21-9-2016’,’dd-mm-yyyy’))'; stat.execute(sql);//這里提交時應(yīng)該有sql語句,不同于PreparedStatment來看一下實際使用吧:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class StatementTest {public static void main(String[] args) {test_autoCommit();}public static void test_autoCommit() { String driver='oracle.jdbc.driver.OracleDriver'; String url='jdbc:oracle:thin:@127.0.0.1:1521:orcl'; String user='briup'; String password='briup'; Connection conn=null; Statement stat=null; try { //1、注冊驅(qū)動 Class.forName(driver); //2、獲取連接 conn= DriverManager.getConnection(url, user, password); conn.setAutoCommit(false); //System.out.println(conn); //3、創(chuàng)建statement對象 stat=conn.createStatement(); //4、執(zhí)行sql語句 String sql='insert into lover values(22,’suxingxing’,to_date(’21-9-2016’,’dd-mm-yyyy’))'; //注意格式 // stat.execute(sql); System.out.println(stat.execute(sql)); //返回值為false,因為同樣沒有ResultSet返回集 conn.commit(); //5、處理結(jié)果集 } catch (Exception e) { e.printStackTrace(); try { conn.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } } finally{ //6、關(guān)閉資源 try { if(stat!=null)stat.close(); } catch (SQLException e) { e.printStackTrace(); } try { if(conn!=null)conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }}

插入之后的結(jié)果:

java中Statement 與 PreparedStatement接口之間的關(guān)系和區(qū)別

到此這篇關(guān)于java中Statement 與 PreparedStatement接口之間的關(guān)系和區(qū)別的文章就介紹到這了,更多相關(guān)Statement 與 PreparedStatement接口內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美国产一级| 亚洲精品进入| 久久影院资源站| 国产精品一区二区美女视频免费看| 日韩高清欧美激情| 7777精品| 国产一区欧美| 日韩精品一卡二卡三卡四卡无卡| 久久国产高清| 日本综合精品一区| 久久不见久久见中文字幕免费| 激情久久婷婷| 水野朝阳av一区二区三区| 欧美a一区二区| 亚州av一区| 欧美国产美女| 亚洲一区二区三区在线免费| 久久99偷拍| 欧美精品一区二区三区精品| 国产精品高颜值在线观看| 欧美一级一区| 另类亚洲自拍| 久久国产欧美日韩精品| 精品亚洲美女网站| 天堂va欧美ⅴa亚洲va一国产| 精品久久一区| 欧美特黄一区| 久久精品国产久精国产爱| 91精品福利观看| 国产精品av一区二区| 亚洲最大av| 欧美黄色精品| 久久不见久久见中文字幕免费| 国产精品国产三级国产在线观看| 999精品在线| 综合一区在线| 精品欠久久久中文字幕加勒比| 久久久噜噜噜| 亚洲日韩视频| 精品国产午夜| 国产亚洲午夜| 你懂的网址国产 欧美| 99久久久久国产精品| 亚洲精品在线二区| 九九久久国产| 亚洲作爱视频| 蜜桃精品视频| 日韩午夜高潮| 国产精品毛片久久久| 久久久久国产精品一区三寸| 亚洲欧洲免费| 久久uomeier| 日本不卡一二三区黄网| 成人国产综合| 亚洲免费观看高清完整版在线观| 成人在线视频免费看| 亚洲一区激情| 夜久久久久久| 福利视频一区| 日韩国产成人精品| 亚洲自啪免费| 极品日韩av| 日本免费久久| 高清久久一区| 精品网站aaa| 日韩精选在线| 在线精品亚洲| 99pao成人国产永久免费视频| 日韩欧美精品综合| 成人午夜亚洲| 精品99在线| 国产精品15p| 国产日韩欧美中文在线| 日本一区福利在线| 亚洲一区二区免费看| 欧美日韩精品一区二区视频| 色婷婷综合网| 国产成人精品一区二区三区免费 | 中文字幕日韩欧美精品高清在线| 精品视频一二| 日韩精品亚洲专区| 亚洲精品国产偷自在线观看| 久久伊人久久| 日韩一区二区三区四区五区| 激情久久婷婷| 国产一区二区三区国产精品| 亚洲欧美日韩在线观看a三区 | 国产精品一区二区美女视频免费看| 99在线|亚洲一区二区| 91一区二区| 久久精品九色| 国产精品玖玖玖在线资源| 首页欧美精品中文字幕| 亚洲二区在线| 国产999精品在线观看 | 视频一区视频二区在线观看| 日韩一区二区三区免费| 国产精品草草| 91精品麻豆| 日韩欧美美女在线观看| 午夜宅男久久久| 国产在线日韩| 久久天堂精品| 日韩大片在线观看| 成人在线黄色| 精品美女视频 | 国产极品模特精品一二| 免费国产自久久久久三四区久久 | 国产精品一区二区美女视频免费看 | 喷白浆一区二区| 天堂√8在线中文| 久久精品国内一区二区三区| 亚洲精品无播放器在线播放| 亚洲一区欧美二区| 99国产精品私拍| 国产视频欧美| 亚洲欧美日韩在线观看a三区| 欧美特黄一级| 午夜在线精品偷拍| 999国产精品999久久久久久| 国产精品3区| 欧美午夜精彩| 久久久久.com| 精品中文一区| 欧美日韩激情在线一区二区三区| 久久激情婷婷| 婷婷激情久久| 欧产日产国产精品视频| 中文字幕人成乱码在线观看 | 91精品国产经典在线观看| 日本精品久久| 国产精品nxnn| 日本久久综合| 神马久久午夜| 久久久久国产精品一区三寸| 亚洲香蕉网站| 美女国产精品| 综合一区二区三区| 日韩高清不卡一区| 久久狠狠亚洲综合| 免费在线欧美黄色| 久久精品亚洲| 亚洲电影有码| 蜜乳av另类精品一区二区| 免费精品视频最新在线| 在线看片日韩| 国产精品美女在线观看直播| 福利一区和二区| 免费毛片在线不卡| 中文字幕一区二区三区四区久久| 日韩欧美高清一区二区三区| 欧美日韩中出| 精品国产18久久久久久二百| 91精品综合| 亚洲我射av| 久久亚洲人体| 亚洲成人va| 蜜臀久久99精品久久久久宅男| 日韩不卡一区二区三区| 久久久免费人体| 久久久久99| 最新国产精品久久久| 国产精品99久久免费| 国产亚洲一区二区手机在线观看| 夜夜嗨一区二区三区| 欧美日韩调教| av日韩中文| 视频在线观看一区二区三区| 国产精品久久乐| 久久国产免费| 日韩欧美中文字幕一区二区三区 | 日产欧产美韩系列久久99| 麻豆国产91在线播放| 欧美va天堂在线| 日本成人在线一区| 国产精品麻豆久久| 欧美在线综合| 精品无人区麻豆乱码久久久| 欧美日韩免费观看一区=区三区| 青草综合视频| 香蕉精品久久| 国产日韩欧美三级| 久久精品国产99久久| 日韩不卡手机在线v区| 成人精品天堂一区二区三区| 丝袜亚洲另类欧美| 福利一区二区三区视频在线观看| 亚洲精华国产欧美| 精品免费在线| 亚洲精品观看| 久久久久欧美精品| 国产麻豆一区二区三区| 五月婷婷六月综合| 美女精品久久| 三级一区在线视频先锋| 在线手机中文字幕| 欧美一区久久| 另类亚洲自拍| 日韩不卡在线| 牛牛精品成人免费视频|