1.预编译(占位符)可以很大程度上防止SQL注入 预编译的原理是数据库厂商提供的JAR包中,对参数进行了转义 2.mybatis中,能用# 的地方,不用$,因为#是预编译占位符形式,可以防止SQL注入 ORDER BY 后,无法用# ,只能用$,此时,需要代码过滤 有效列 . 正确的防御SQL注入: 1.使用预编译 一般来说,防御SQL注入的最佳方式,就是使用预编译语句,绑定变量. 2.使用存储过程 使用存储过程效果和使用预编译语句类似,其区别就是存储过程需要先将SQL语句定义在数据库中.但需…