看下面两段程序片断:
Code Fragment 1:
String updateString = "UPDATE COFFEES SET SALES = 75 " + "WHERE COF_NAME LIKE ′Colombian′";
stmt.executeUpdate(updateString);
Code Fragment 2:
PreparedStatement updateSales = con.prepareStatement("UPDATE COFFEES SET SALES = ? WHERE COF_NAME LIKE ? ");
updateSales.setInt(1, 75);
updateSales.setString(2, "Colombian");
updateSales.executeUpdate();
片断2和片断1的区别在于,后者使用了
PreparedStatement对象,而前者是普通的
Statement对象。
PreparedStatement对象不仅包含了SQL语句,而且大多数情况下这个语句已经被预编译过,因而当其执行时,只需DBMS运行SQL语句,而不必先编译。当你需要执行
Statement对象多次的时候,
PreparedStatement对象将会大大降低运行时间,当然也加快了访问数据库的速度。
这种转换也给你带来很大的便利,不必重复SQL语句的句法,而只需更改其中变量的值,便可重新执行SQL语句。选择
PreparedStatement对象与否,在于相同句法的SQL语句是否执行了多次,而且两次之间的差别仅仅是变量的不同。如果仅仅执行了一次的话,它应该和普通的对象毫无差异,体现不出它预编译的优越性。
分享到:
相关推荐
prepareStatement和Statement的区别
Statement和PreparedStatement之间的区别
jdbc中statement和prepared区别,jdbc中statement和prepared区别
java中PreparedStatement和Statement的区别
hsbc statement template
Statement Tracer for Oracle绿色
project scope statement template
statement-tracer-for-oracle 跟踪器
解决:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after statement closed.
爱思唯尔旗下的Credit Author Statement模板 论文已正式出版~ 相关博客:https://blog.csdn.net/qq_39763246/article/details/126797385
simple templet of income statement in english
语言的 using statement 与资源释放! 值得下载看看!资源免费,大家分享!!
Generate code statement for hardcode
java数据库连接PrepareStatement
项目范围说明书(Project Scope Statement)适用于各个行业的范围说明书,中英文对照标题
用于跟踪使用oracle期间产生的代码
Statement Tracer for ADO 绿色版,捕捉ADO SQL代码.
SQL Statement,一些sql语句的基本语句,方便学习数据库