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就会多一个单引号变成字符串了,程序就会报错。

posted @ 2021-04-11 21:18  x77  阅读(83)  评论(0)    收藏  举报