BAD:

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

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

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

GOOD:

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

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

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

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

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

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

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

相关文章:

  • 2021-06-01
  • 2021-07-09
  • 2021-06-15
  • 2021-06-07
  • 2022-12-23
  • 2021-08-27
  • 2021-12-19
猜你喜欢
  • 2021-08-30
  • 2021-05-28
  • 2022-12-23
  • 2021-08-23
  • 2021-09-09
  • 2021-08-11
  • 2022-12-23
相关资源
相似解决方案