Statement与PreparedStatement的区别
来源:互联网 发布:stc15单片机实战指南 编辑:程序博客网 时间:2024/06/05 06:30
原文地址:http://blog.csdn.NET/haorengoodman/article/details/23995347
1:创建时的区别:
Statement statement = conn.createStatement();
PreparedStatement preStatement = conn.prepareStatement(sql);
执行的时候:
ResultSet rSet = statement.executeQuery(sql);
ResultSet pSet = preStatement.executeQuery();
由上可以看出,PreparedStatement有预编译的过程,已经绑定sql,之后无论执行多少遍,都不会再去进行编译,
而 statement 不同,如果执行多遍,则相应的就要编译多少遍sql,所以从这点看,preStatement 的效率会比 Statement要高一些
上述代码反复执行,
statement cost:95 preStatement cost:90
statement cost:100 preStatement cost:89
statement cost:92 preStatement cost:86
当然,这个也会跟数据库的支持有关系
虽然没有更详细的测试各种数据库, 但是就数据库发展版本越高,数据库对preStatement的支持会越来越好,
所以总体而言, 验证preStatement的效率比Statement 的效率高
2>安全性问题
这个就不多说了,preStatement是预编译的,所以可以有效的防止SQL注入等问题
所以 preStatement 的安全性 比 Statement 高
3>代码的可读性 和 可维护性
这点也不用多说了,你看老代码的时候 会深有体会
preStatement更胜一筹
别的暂时还没有想到,说没有查到会更好一些(汗),如果有别的差异,以后再补充
- Statement与PreparedStatement的区别
- Statement与PreparedStatement的区别
- PreparedStatement与Statement的区别
- PreparedStatement 与 Statement 的区别
- PreparedStatement与statement的区别
- PreparedStatement与statement的区别
- Statement 与PreparedStatement的区别
- Statement与PreparedStatement的区别
- PreparedStatement与Statement的区别
- PreparedStatement与Statement的区别
- PreparedStatement与Statement的区别
- Statement与PreparedStatement的区别
- Statement与PreparedStatement的区别
- Statement与PreparedStatement的区别
- Statement与PreparedStatement的区别
- Statement与PreparedStatement的区别
- Statement与PreparedStatement的区别
- PreparedStatement与Statement区别
- leetcode-第十二周
- android 老生常谈的权限问题
- php_语言结构
- 浅析Jquery里slick插件常用属性用途
- tomcat进程意外退出的问题分析
- Statement与PreparedStatement的区别
- # chcon -t samba_share_t /software chcon: can't apply partial context to unlabeled file /software
- 第17章 EXTI—外部中断/事件控制器—零死角玩转STM32-F429系列
- Windows 消息机制详解
- 网络基础
- test
- valgrind检测到的非法读
- Shell 变量的命名 (二)
- linux平台11gR2 grid安装到执行root.sh时报错