#{}和${}的区别 #{}相对安全,它的sql是预处理,不会存在sql注入的问题,而${}可能存在sql注入的安全性问题的;#{}在替换字符串参数时会加上单引号,所以对于(MySQL)系统关键字,所以此方法是不适用的,而${}它能使用SQL所有的替换。 SQL安全问题的解决方案 尽量使用预处理的#{}的方式进行参数的替换在进行数据库操作前,先手动的对传输的参数进行过滤操作,来防止SQL注入。尽量使用系统提供的内置方法配合#{}的方式来进行参数的替换,如concat(’%’,#{},’%’);