Statement与PreparedStatement两者都可以把SQL语句从Java程序发送到指定数据库,并执行SQL语句,但是他们也具有如下区别:
Statement会使数据库频繁编译SQL,可能造成数据库缓冲区溢出;
PreparedStatement会形成预编译的过程,对于多次重复执行的语句,PreparedStatement的效率要高一些,而且适合批处理数据(批量添加);
最重要的是,PreparedStatement能有效防止危险自负的注入,即SQL注入问题。
Statement会使数据库频繁编译SQL,可能造成数据库缓冲区溢出;
PreparedStatement会形成预编译的过程,对于多次重复执行的语句,PreparedStatement的效率要高一些,而且适合批处理数据(批量添加);
最重要的是,PreparedStatement能有效防止危险自负的注入,即SQL注入问题。