56-如何解决SQL注入?

1,SQL注入,是指通过字符串拼接的方式构成了一种特殊的查询语句

比如:select from t_user where usename=’’ and password=’’
‘ or 1=1 #
select
from t_user where usename=’’ or 1=1 # ‘ and password=’’

2,解决方案

采用预处理对象,采用PreparedStatement对象,而不是Statement对象
可以解决SQL注入的问题
另外也可以提高执行效率,因为是预先编译执行
SQL执行过程(语法校验->编译->执行)

延伸

MyBatis如何解决了SQL注入的问题?采用#
MyBatis的#和$的差异,#可以解决SQL注入,而?号不能解决