语句用于执行静态SQL语句,在执行时必须指定预先准备的SQL语句。
PrepareStatement是预编译的SQL语句对象,SQL语句预编译并存储在对象中。 封装的sql语句是动态参数“? “”表示可能包含的操作类型,在运行时显示“? ”动态设置参数值。
使用PrepareStatement对象运行sql时,sql由数据库分析和编译,然后放在命令缓冲区中,每次运行相同的PrepareStatement对象时都会进行一次分析,但再次进行分析可以在缓冲区中检测并重用预编译的命令。
PrepareStatement减少编译次数并提高数据库性能。
预准备语句防止SQL注入。
批处理时,根据数据量的大小选择Statement和PrepareStatement时的标准:
1 )比值小,两者相差不大。
2 )因为相对较多,所以在预编译的预编译区域中选择预编译语句。 因为sql语句只能预编译一次。
3 )量特别大,使用语句。 由于PrepareStatement的预编译空间有限,特别是数据量大时会发生异常。
代码级别: