Statement存在sql注入问题,PreparedStatement解决了sql注入问题.
Statement是编译一次执行一次,PreparedStatement是编译一次可以执行n次,PreparedStatement的效率较高一些.
PreparedStatement会在编译阶段做类型的安全检查.
综上所述:PreparedStatement使用较多,只有在极少数情况下使用Statement
Statement支持SQL注入,凡是业务方面要求需要进行sql语句拼接的,必须使用Statement.