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

Posted 麦子TMAC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis Mapper.xml文件中 $和#的区别相关的知识,希望对你有一定的参考价值。

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

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

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

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

以上是关于MyBatis Mapper.xml文件中 $和#的区别的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Mybatis之mapper.xml配置文件中的#{}和${}

MyBatis的Mapper.xml文件中没有提示怎么办?

热加载 MyBatis 中修改过的 Mapper.xml

Mybatis的mapper.xml文件详解