首頁 >Java >java教程 >PreparedStatement動態參數的引入實例

PreparedStatement動態參數的引入實例

零下一度
零下一度原創
2017-06-25 11:05:062529瀏覽

一.PreparedStatement 概述

在資料庫的操作過程中,PreparedStatement 物件是一個很不起眼但是記為重要的介面對象,它繼承於Statement,並與之在兩方面有所不同:

1)PreparedStatement 實例包含已編譯的SQL 語句。這就是使語句「準備好」。包含於 PreparedStatement 物件中的 SQL 語句可具有一個或多個 IN 參數。 IN參數的值在 SQL 語句建立時未被指定。相反的,該語句為每個 IN 參數保留一個問號(“?”)作為佔位符。每個問號的值必須在該語句執行之前,透過適當的setXXX 方法來提供。

2)由於 PreparedStatement 物件已預先編譯過,所以其執行速度要快於 Statement 物件。因此,多次執行的 SQL 語句經常被建立為 PreparedStatement 對象,以提高效率。

 

二.PreparedStatement應用實例

   2.1第一步匯入jar套件

     

      

#   
##     2.2 創建表t1

  

 1 <body> 2 <% 3 //加载数据库驱动给jdbc 4 Class.forName("org.gjt.mm.mysql.Driver"); 5 out.print("成功加载驱动"); 6 String url ="jdbc:mysql://127.0.0.1:3306/datebase?user=root&password=123456"; 7 //获取数据库连接,让java可以操作mysql 8 Connection conn = DriverManager.getConnection(url); 9 //定义一条SQL命令创建一个名为t1的表10 String sql = "create table t1(sno varchar(20),name varchar(20),birth String)";11 //从connection对象中,获取一个sql执行者12 PreparedStatement ps = conn.prepareStatement(sql);13 //执行14 ps.execute();15 out.print( conn );16 //首先关闭连接18 ps.close();19 conn.close();20 %>21 22 </body>

 
     2.3 對t1表中的數據操作只需要將sql命令

替換

<%
String sno="1";
String name="小明";
String birth="2008-08-24";
Class.forName("org.gjt.mm.mysql.Driver""成功加载驱动"="jdbc:mysql://127.0.0.1:3306/datebase?user=root&password=123456"Connection conn =PreparedStatement ps =123%>
</body>


 


//增加資訊

String sql="insert into t1(sno,name,birth) values(?,?,?)";

//更改訊息

String sql1="UPDATE t1 SET birth=? where sno=?";

####//刪除訊息# ##String sql2="delete from t1 其中 sno=?";###### ####

以上是PreparedStatement動態參數的引入實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn