1. 程式人生 > >Mabatis中模糊查詢防止sql注入

Mabatis中模糊查詢防止sql注入

#{xxx},使用的是PreparedStatement,會有型別轉換,所以比較安全;

${xxx},使用字串拼接,可以SQL注入;

like查詢不小心會有漏洞,正確寫法如下:

Mysql:  

select * from user where name like concat('%', #{name}, '%')   

Oracle: 

select * from user where name like '%' || #{name} || '%' 

SQLServer: 

select * from user where name like '%' + #{name} + '
%'