mybatis #{} 和${}的区别 #{} 和${}中获取参数值

#{}中的中的内容会被当成字符串,会替换sql中的参数,不会拼接成sql运行 ,没有sql注入风险 。

在mappper.xml中
传递基本类型数据时可以 #{0},#{1}.....或者#{param1},#{param2}....或者#{id},#{name}这样获取参数值





${}中的内容会被直接拼接到sql中运行,${}中有sql话会运行其中的Sql,  有sql注入的风险。
在mapper.xml中可以根据模型属性获取传递过来的值  ,或者传递的是基本类型的数据 。
传递参数为对象(model)是可以 ${name} 直接填写对象属性来获取值
传递参数为基本类型数据时:只能${param1}  ,${param2}这样获取参数值。不能${0}或者${id}   。 

猜你喜欢

转载自blog.csdn.net/weixin_38570967/article/details/80931825
今日推荐