关键字:
Statement:单次效率高
PreparedStatement:预编译,缓冲区,?传参,避免sql注入
JDBC驱动的最佳化是基于使用的是什么功能.
选择PreparedStatement还是Statement取决于你要怎么使用它们。对于只执行一次的SQL语句选择Statement是最好的. 相反,
如果SQL语句被多次执行选用PreparedStatement是最好的。
PreparedStatement: 数据库会对sql语句进行预编译,下次执行相同的sql语句时,数据库端不会再进行预编译了,而直接用数据库的缓冲区,提高数据访问的效率(但尽量采用使用?号的方式传递参数),如果sql语句只执行一次,以后不再复用。 从安全性上来看,PreparedStatement是通过?来传递参数的,避免了拼sql而出现sql注入的问题,所以安全性较好。在开发中,推荐使用 PreparedStatement。