预处理语句的使用-代码典型缺陷分析(一)

BAD:

 

       尽管这块代码能够正确执行,能够完成都应的业务逻辑的处理,但这个预处理语句使用是有问题的。因为这个SQL语句是动态拼接而来的,这样处理和Statement直接处理几乎一点区别也没有,一点也没体现出运用PrearedStatement的优势。

       正确使用是以参数化的形式给preparedStatement传参数,而不是动态拼接SQL语句,如下:

GOOD:

 

       因为以参数化的形式使用PreparedStatement,会对应SQL进行一个预编译,尤其是多次对数据库进行操作的话,这样能很大程度上提高执行的效率,而且这样方式能够预防SQL注入攻击(具体原因请参考我的博文:预处理为什么能防止SQL注入),所以开发过程总框架DAO层的方法如果有参数化的形式查询,就不要懒省事直接动态拼接SQL语句。

循环体中用“+”拼接字符串-代码典型缺陷分析(二)

数组转List-代码典型缺陷分析(三)

转载请注明—作者:Java我人生(陈磊兴)   原文出处:http://blog.csdn.net/chenleixing/article/details/44134237

欢迎关注我的博客,敬请关注代码典型缺陷分析系列下一篇!

如果过程中有讲解的不合理或者不对或者你有更好的想法,还望大牛们留下你们的宝贵文字,以便你、我、大家更好的学习与进步!

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值