MyBatis中向SQL语句传参,可以使用两种方式 #{parameter}和${parameter}
他们的区别如下:
#:会进行预编译,默认为字符串,会对参数加上单引号''
如:SELECT t.* FROM cb_clue_use WHERE t.ROLE_CODE=#{roleCode} ====》 SELECT t.* FROM cb_clue_use WHERE t.ROLE_CODE='admin';
$:直接取变量的值,不会加上单引号,会参与sql编译中,有SQL注入的危险
如:SELECT t.* FROM cb_clue_use WHERE t.ROLE_CODE=${roleCode} ====》 SELECT t.* FROM cb_clue_use WHERE t.ROLE_CODE=admin;