怎么在mapper.xml中使用if和else呢
时间: 2023-09-24 22:11:07 浏览: 103
MyBatis中Foreach参数问题.doc
在MyBatis的mapper.xml中,可以使用if和else来创建条件语句。这些语句通常用于动态生成SQL语句,根据不同的条件拼接不同的SQL语句。
以下是一个简单的示例:
```
<select id="selectUsers" resultType="User">
SELECT * FROM users
<where>
<if test="name != null">
AND name = #{name}
</if>
<if test="age != null">
AND age = #{age}
</if>
<if test="gender != null">
AND gender = #{gender}
</if>
</where>
</select>
```
在上面的示例中,使用了if元素来判断是否需要拼接AND条件。如果条件成立,就拼接相应的SQL语句。如果条件不成立,则不拼接任何内容。这样,就可以动态地生成SQL语句,根据不同的参数组合生成不同的查询语句。
类似地,可以使用else元素来创建else语句。如果if条件不成立,就执行else语句中的内容。例如:
```
<if test="name != null">
AND name = #{name}
</if>
<if test="age != null">
AND age = #{age}
</if>
<if test="gender != null">
AND gender = #{gender}
</if>
<else>
<!-- default condition -->
</else>
```
在这个示例中,如果没有任何条件成立,就执行else语句中的默认条件。
阅读全文