mybatis ifeslse
时间: 2023-09-29 17:05:52 浏览: 30
在Mybatis中,有多种方式可以实现条件判断,其中常用的方式是使用<if>标签或<choose>标签。下面是使用<if>标签的示例代码:
```xml
<select id="getUserList" resultMap="userResultMap">
SELECT * FROM user
<where>
<if test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="age != null">
AND age = #{age}
</if>
</where>
</select>
```
在上述示例中,我们使用了<if>标签来进行条件判断。如果name参数不为空,则拼接一个name的模糊查询条件;如果age参数不为空,则拼接一个age的精确查询条件。这样可以根据不同的条件动态生成SQL语句。
除了<if>标签,还可以使用<choose>标签来实现条件判断。<choose>标签包含多个<when>和<otherwise>标签,类似于Java中的switch语句。下面是使用<choose>标签的示例代码:
```xml
<select id="getUserList" resultMap="userResultMap">
SELECT * FROM user
<where>
<choose>
<when test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</when>
<when test="age != null">
AND age = #{age}
</when>
<otherwise>
AND status = 1
</otherwise>
</choose>
</where>
</select>
```
在上述示例中,如果name参数不为空,则拼接一个name的模糊查询条件;如果age参数不为空,则拼接一个age的精确查询条件;否则,使用一个默认的条件。这样可以根据不同的条件动态生成SQL语句。
综上所述,Mybatis中的条件判断可以通过<if>标签或<choose>标签来实现,根据不同的条件动态生成SQL语句。