天天看点

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

BAD:

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

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

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

GOOD:

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

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

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

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

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

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

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

继续阅读