PreparedStatement与Statement的区别与详解

关于PreparedStatement:

	1.PreparedStatement是Statement的子接口,作用与Statement一样
	2.PreparedStatement特点:
			使用PreparedStatement可以执行动态参数化sql(在sql语句中用占位符?);
	3.PreparedStatement原理:
			在我们调用创建PreparedStatement 对象 pstm时候,我们需要将一个半成品sql语句交给pstm,pstm拿着这个sql先发送到数据库,进行预编译(检查语法,检查权限),当我们调用pstm.setXXX()的时候,再一起把占位符设置的动态参数值一起发送到数据库执行,不用再编译当前的sql语句,这样可以大大的节省时间,提高运行效率。

Statement与PreparedStatement的区别【重点】

1.使用statement执行sql语句,是以字符串拼接的方式,给sql语句加入参数,这个时候存在sql注入危险。
2.使用PreparedStatement 可以避免sql注入(安全)
3.使用PreparedStatement,代码的可读性高,可维护性好,可以提高运行效率。
什么是sql注入?
	一些黑客,将一些特殊的字符通过字符串拼接的方式注入到sql语句中,改变sql语句原有的运行逻辑,从而威胁到数据库的安全,这种现象叫做sql注入。

代码示例:(待续…)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值