`
izuoyan
  • 浏览: 8948975 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

看清preparedstatement与statement的一点区别

阅读更多

二者之间的最大差别无疑是由prepared引起的.http://baike.baidu.com/view/890310.htm

prepared[prɪ'pɛrd]

[词典释义]

a. 1. 有准备的 2. (食物等)经过调制的

源文档 <http://www.baidu.com/baidu?word=prepared&tn=myie2&ch=4>

与此相关程度最大的,便是在执行SQL命令的时候,无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和编译一次(这就是预编译的好处体现),而比较于Statement这个普通的对象,每次执行同一个SQL命令都会重新对其进行解析和编译。

这样便带来了有关数据库性能的问题讨论,使用PreparedStatement执行大量SQL命令时效率性能要比Statement对象强上一些。

我们都知道SQL注入问题,也就是说在一些公共的Web站点上,由于网站设计者的疏忽等等,使得恶意用户可以利用一些SQL语句技巧拼接字符串,进而删除用户数据或破坏Web站点正常运行。

PreparedStatement对象的应用中,我们可以使用参数传递具体的数值,规避这种恶意用户通过输入非法字符串而破坏Web系统的情况。同样,这是Statement对象所不具有的一点。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics