Magnet使用SQL工作流时,可以使用动态方式生成SQL,还可以通过参数来改变SQL语句。
1、判断标签if
<sql id="step1" alias="alias1">
<if test="1 == test">
SELECT * FROM employees WHERE gender = 'F' AND birth_date > '1960-01-01'
</if>
<if test="2 == test">
SELECT * FROM employees WHERE gender = 'M' AND birth_date > '${age}'
</if>
</sql>
职责:主要功能是判断参数是否满足条件,若满足条件则执行标签内的内容
子标签:可嵌套if、where、choose等标签
2、where条件标签
<sql id="step1" alias="alias1">
<if test="3 == test">
SELECT * FROM employees
<where>
<if test="1 == wheretest">
gender = 'F'
</if>
<if test="2 == wheretest">
AND birth_date > '1960-01-01'
</if>
</where>
</if>
</sql>
职责:主要功能是给SQL语句添加where条件,零个或多个条件判断的时候,可以自动的去掉第一个条件前多余的AND或OR
子标签:可嵌套if、where、choose等标签
3、多项选择的choose标签
<sql id="step1" alias="alias1">
<if test="4 == test">
<choose>
<when test="1 == choosetest">
SELECT * FROM employees WHERE gender = 'F'
</when>
<when test="2 == choosetest">
SELECT * FROM employees WHERE gender = 'M'
</when>
<otherwise>
SELECT * FROM employees WHERE birth_date > '1960-01-01'
</otherwise>
</choose>
</if>
</sql>
职责:主要功能提供根据条件多项判断的结构,根据参数的不同选择不同的内容。
子标签:可嵌套if、where、choose等标签
码云:https://gitee.com/huanStephen/magnet
技术交流QQ群:1051174317
相关内容: