程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 使用PreparedStatement減少開發的時間

使用PreparedStatement減少開發的時間

編輯:JAVA編程入門知識

  JDBC(Java Database Connectivity,java數據庫連接)的API中的主要的四個類之一的java.sql.Statement要求開發者付出大量的時間和精力。在使用Statement獲取JDBC訪問時所具有的一個共同的問題是輸入適當格式的日期和時間戳:2002-02-05 20:56 或者 02/05/02 8:56 PM。

  通過使用java.sql.PreparedStatement,這個問題可以自動解決。一個PreparedStatement是從java.sql.Connection對象和所提供的SQL字符串得到的,SQL字符串中包含問號(?),這些問號標明變量的位置,然後提供變量的值,最後執行語句,例如:

  Stringsql = "SELECT * FROM People p WHERE p.id = ? AND p.name = ?";

  PreparedStatement ps = connection.prepareStatement(sql);

  ps.setInt(1,id);

  ps.setString(2,name);

  ResultSet rs = ps.execute();

  使用PreparedStatement的另一個優點是字符串不是動態創建的。下面是一個動態創建字符串的例子:

  Stringsql = "SELECT * FROM People p WHERE p.i = "+id;

  這答應JVM(JavaVirtual Machine,Java虛擬機)和驅動/數據庫緩存語句和字符串並提高性能。

  PreparedStatement也提供數據庫無關性。當顯示聲明的SQL越少,那麼潛在的SQL語句的數據庫依靠性就越小。

  由於PreparedStatement具備很多優點,開發者可能通常都使用它,只有在完全是因為性能原因或者是在一行SQL語句中沒有變量的時候才使用通常的Statement。


 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved