黑马程序员技术交流社区

标题: statement 与preparestatement 区别 [打印本页]

作者: sishuidliunian    时间: 2016-5-27 22:25
标题: statement 与preparestatement 区别
在学习jbdc的时候会遇到这种情况:开始简单的sql语句,比如"select * from tab_name",就直接使用statement ,但后面随着sql语句变得复杂,参数变多就需要用到预编译preparestatement ,那么他们之间的具体区别和优缺点在哪呢?
      1.PreparedStatement对象不仅包含了SQL语句,而且大多数情况下这个语句已经被预编译过当你需要执行Statement对象多次的时候,PreparedStatement对象将会大大降低运行时间,当然也加快了访问数据库的速度。这种转换也给你带来很大的便利,不必重复SQL语句的句法,而只需要更改其中变量的值,便可重新执行SQL语句。选择 PreParedStatement对象与否,在于相同的句法的SQL语句是否执行了多次
       2.prepareStatement是把你的sql语句预先编译好,每次只替换定义的变量,他的作用是减少与数据库的通信量,从而加快执行速度,主要用在循环执行SQL语句
       3. prepareStatement解决有关特殊字符插入到数据库的问题。如(',",),?
       4. Statement由方法createStatement所创建。Statement对象用于发送简单的SQL语句。sql语句是在statement对象的使用方法时添加的,而预编译是在创建对象时添加的。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2