为了防止SQL注入,iBatis模糊查询时也要避免使用$$来进行传值。下面是三个不同数据库的ibatis的模糊查询传值。
oracle: select * from stu where name like '%'||#name #||'%'
正确写法:
oracle: select * from stu where name like '%'||#name #||'%'
SQL Server:select * from stu where name like '%'+#name #+'%
错误写法:
like '%'||'$personname$'||'%'
like '%$personname$%'
错误写法可以通过 ( 用户名%' or '1%' = '1 )的sql注入攻击