A.
预编译SQL可以被PreparedStatement反复执行
B.
预编译SQL语句在PreparedStatement对象创建之后就被传递给数据库解析,之后PreparedStatement执行预编译的时候,其实传递给数据库的只有占位符的参数。如果需要批量插入1000条记录的时候,预编译SQL只被数据库解析一次,其余都是数据库接受参数数据然后执行,这样的速度大为提高。
C.
预编译SQL的安全性好,可以抵御数据库脚本注入攻击,而这却是Statement所不具备的。
D.
预编译SQL的占位可以替代数据表,也可以替代表的数据,甚至是子查询语句。