本文主要是介绍数据库中关于preparedStatement和Statement分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引用:
http://zhidao.baidu.com/link?url=GT7fotu8j4V0Yf_gYwcceE1u2MsgT-6NKz18K_neo715rE-V11Ny-EHW4OZNkhFdvTM2LmSt4a83XypnfS1r0K
http://blog.sina.com.cn/s/blog_77eba18f01019csh.html
http://www.cnblogs.com/yezhenhan/archive/2011/04/21/2023195.html
http://www.cnblogs.com/yezhenhan/archive/2011/04/21/2023195.html
在JDBC应用中,应该尽可能的以PreparedStatement代替Statement,而不是用一味的使用Statement,下面从三个方面分析原因:
- 代码的可读性和可维护性(第一个方面).
虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次:
stmt.executeUpdate("insert into tb_name (col1,col2,col2,col4) values ('"+var1+"','"+var2+"',"+var3+",'"+var4+"')");perstmt = con.prepareStatement("insert into tb_name (col1,col2,col2,col4) values (?,?,?,?)");perstmt.setString(1,var1);perstmt.setString(2,var2);perstmt.setString(3,var3);perstmt.setString(4,var4);perstmt.executeUpdate();
- PreparedStatement尽最大可能提高性能(第二个方面).
PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象。
作为 Statement 的子类,PreparedStatement 继承了 Statement 的所有功能。三种方法 execute、 executeQuery 和 executeUpdate 已被更改以使之不再需要参数
每一种数据库都会尽最大努力对预编译语句提供最大的性能优化.因为预编译语句有可能被重复调用.所以语句在被DB的编译器编译后的执行代码被缓存下来,
那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中(相当于一个涵数)就会得
这篇关于数据库中关于preparedStatement和Statement分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!