我们都知道在JDBC中,PreparedStatement可以防止sql注入,不知道大家有没有想过一个问题呢?当我们在界面上查询的时候,界面上如果用户输入了%百分号,会不会导致我们的sql语句在模糊like查询的时候出现问题呢?
这里我自己有个小疑问?为什么我们不能手动转义一下用户输入的%,其他的再交给PreparedStatement转义?大家可以写程序测试下?欢迎大家一起讨论和交流!如果我们在项目中手动转义%百分号,会不会产生什么问题?请大家踊跃发言!大家思考下PreparedStatement底层对sql注入是怎么处理的?换句话说大家思考下PreparedStatement防止sql注入的原理是什么,是PreparedStatement底层对sql语句的单引号或者%分号等等自动做了转义处理吗?