PreparedStatement和Statement的相关问题
PreparedStatement和Statement的区别?
Statement存在sql注入问题,PreparedStatement解决了sql注入问题。
Statement是编译一次执行一次。PreparedStatement是只需要编译一次,可执行n次。所以PreparedStatement的效率较高一些。
PreparedStatement会在编译阶段做类型的安全检查。
解决sql注入的关键是什么?
用户提供的信息中即使含有sql语句的关键字,但是这些关键字并没有参与编译,不起作用。
什么时候用到Statement?
Statement支持sql注入,凡是要求是需要进行sql语句拼接的,必须使用Statement。比如要拼接的是desc或者asc等,就需要使用Statement。如果用PreparedStatement的“?”,这样sql语句中的desc就会多一个单引号变成字符串了,程序就会报错。

浙公网安备 33010602011771号