PreparedStatement是预编译的,对于批量处理可以大大提高效率.
也叫JDBC存储过程

解决方案 »

  1.   

    主要是效率上的,主要区别如下statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得preparedstatement支持批处理
      

  2.   

    这2个区别主要是考虑到数据库的性能方面。
    我们每一个sql语句发送到数据库处理的时候,数据库先进行解析(硬解析)。这个解析是需要消耗cpu时间的。然后把解析的结果保存在数据库的内存中(并且经过hash算法),以后如果有一样的sql语句,数据库马上就可以找到该语句,根本不需要硬解析过程,而是进行软解析,只是替换?为一些值,这样的代价跟前面的硬解析有天壤之别。如果数据库处理sql非常平凡,那么采用 preparedstatement 是必然的,如果没有采用preparedstatement,你会发现数据库服务器大部分的cpu时间都消耗在这个上面(硬解析)
      

  3.   

    preparedstatement可以很好的处理特殊字符,二Statement就要预先处理后才可以正确处理特殊字符