preparedStatement和statement的异同?

PreparedStatement和statement的区别?

##preparedStatement有预编译的过程,绑定了sql之后,无论执行多少次,都不会出现编译。
statement如果执行多次,那么就会编译多遍的sql。

所以:

①前者效率高

而且数据库的版本越高,数据库对pre的支持就越好。

②前者安全性高

预编译的可以防止sql注入。
什么是sql注入?
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
什么是web表单?
表单就是在网页上用于输入信息的区域,主要的功能是收集用户输入的信息,并将其提交给后端的服务器进行处理,实现用户与服务器的交互。

③代码的可读性和维护性更好

sql语句一个放在创建的时候,一个放在执行的时候.

④pre尽最大可能去提高性能(批处理效率高)

语句被db的编译器编译后的执行代码,使用频繁的代码,会被缓存下来.=>下次调用时,只要相容的预编译语句,就不需要编译,只要将参数直接传入编译过的语句执行(相当于一个函数)

preparedStatement和Statement的关系?

preparedStatement继承自Statement,都是接口.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值