- $ 在mapper的xml文件里相当于字符连接符。
- # 则是参数形式的入参。
- 如果A=“test”,语句 select * from a where name=${A}
- 则其动态语句为 select * from a where name=“test”
- 如果是#{A},则其动态语句为 select * from a where name=?
- 这样看来使用#可以避免sql注入风险。
- 在使用日期进行比较时,如 :
<![CDATA[ and start_time <= #{endTime}]]>
- 使用# 日期会自动转换为 '2019-3-21 3:35:11' 这样的字符串进行比较,而$ 则不会。
-
<![CDATA[ ]]> CDATA 标签用于表示其标签内的字符不转义。比如/之类。
mybatis 防注入之 # 和$
最新推荐文章于 2024-03-05 20:40:13 发布