mybatis
mybatis中#{}和${}的区别
#{}
方式 会将sql语句解析成传入的参数自动加一个引号生成字符串,这样传来的参数都会被当成字符串,这样就避免了sql注入等问题。
${}
方式 传入的参数是什么就是什么,这有利于传数据库对象,如我们需要排序的字段是动态的:select * from user order by ${orderFiledName} ;如果我们用#{}的方式会因为加了引号而找不到排序字段,这样就会在执行sql时报错。但这样也有缺点,那就是避免不了sql注入。