调用dao接口的方法传进去的参数,会放到映射文件的sql语句里面处理,其中#{}就起到了获取参数对应值得作用。
${}只能单纯地将字符串拼接,会出现sql注入的问题,而#{}则不会。
#{}的几种用法:
1.填属性值,如果传了一个student对象过来,则可以用#{name},#{age}等表示对应属性。
2.占位符,#{xxx},#{000}等。代表传过来的基本数据类型的值。
3.map的key值,如果传进来的是map,可以写#{key1},#{key2}等代表对应的value。
4.如果上述条件的value是实体对象,则可以用#{key1.id},#{key2.name}等代表对应属性值。
5.传进来的是多个参数,比如是三个,则可以用#{0},#{1},#{2}分别表示。