预编译Statement的三大优势!

Posted sweetorangezzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了预编译Statement的三大优势!相关的知识,希望对你有一定的参考价值。

使用PreparedStatement

PreparedStatement接口继承Statement

PreparedStatement Statement
相同点 执行sql语句 执行sql语句
不同点 sql语句预编译+传参 sql语句字符串拼接

注: 这是JAVA里唯二的基1的地方,另一个是查询语句中的ResultSet也是基1的。

PreparedStatement三大优势

参数设置

Statement 需要进行字符串拼接,可读性和维护性比较差

String sql = "insert into hero values(null,"+"‘提莫‘"+","+313.0f+","+50+")";

PreparedStatement 使用参数设置,可读性好,不易犯错

String sql = "insert into hero values(null,?,?,?)";

性能表现

执行10,000插入任务耗费时间(差不多)

Statement PreparedStatement
时间 226204ms 229636ms
空间 产生字符串多

防止sql注入式攻击

以上是关于预编译Statement的三大优势!的主要内容,如果未能解决你的问题,请参考以下文章

java中PreparedStatement与Statement相比具有啥优势?

Statement和PreparedStatement有什么区别?哪个性能更好?预编译语句,防止sql注入问题

Statement 和 PreparedStatement 有什么区别?哪个性 能更好?

Statement 和 PreparedStatement 有什么区别?哪个性 能更好?

转载----PreparedStatement和Statement的区别

导致资产预编译在heroku部署上失败的代码片段