MyBatis Mapper.xml文件中 $和#的区别


网上有很多,总之,简略的写一下,作为备忘。例子中假设参数名为 paramName,类型为 VARCHAR 。

1.优先使用#{paramName,jdbcType=VARCHAR} 写法,除了可以防止sql注入以外,它还能在参数里含有单引号的时候自动转义,

而${paramName}由于是类似于拼接sql的写法,不具备此功能。

2.注意,使用 #{paramName,jdbcType=VARCHAR} 写法的时候,模糊查询的写法为:'%'||#{paramName,jdbcType=VARCHAR}||'%'

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM