【Mybaits】- 动态sql之if使用判断

181 阅读1分钟

1. XML中解析的判断条件转义写法

1.1 转义表

<<=<>=&'"
&lt; &lt;= &gt;&gt;= &amp; &apos; &quot;

1.2 实现方式二

<![CDATA[  sql语句  ]]> 例子 id <![CDATA[ >= ]]>

2. 根据转入的参数进行动态条件的添加

例如:判断传入的参数是否为空进行动态添加,过滤掉空字符的情况

<if test = "id != null and id != ''">

例如:是否是某个特定字符串

<if test="id != null and 'id' == 1"></if> 

发现还是不行,没有执行到判断,但是都将语句加载进去了,最后解决的方法: 方式1:

<if test=' id != null  and id=="1"'></if> 

判断的所有语句使用单引号包裹,字符串使用双引号包裹

方式2:

<if test="id != null and '1'.toString() == id.toString()">xxx=null</if>

判断的所有语句使用单引号包裹,字符串使用双引号包裹