mybatis

1. 

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

 

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

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

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

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

 

第一种方法:使用转义字符

大于号 > >
小于号 < &lt; 
与 & &amp;
单引号 " &apos;
双引号 ' &quot;

第二种方法: 使用<![CDATA[  ]]> 。因为xml格式遇到这种格式会把方括号里的内容原样输出,不进行解析,如:  >=               改成                     <![CDATA[ >= ]]>

 

 

posted @ 2019-01-04 15:01  龙卷风清扬  阅读(166)  评论(0编辑  收藏  举报