mybatis 多个 if else
时间: 2023-08-19 12:11:48 浏览: 200
Mybatis例子
MyBatis中可以使用多个if-else语句来实现条件查询。例如,可以使用<if>标签来判断条件,根据条件的不同执行不同的SQL语句。在查询语句中,可以使用<where>标签来包裹多个<if>标签,以便根据条件动态生成查询条件。下面是一个示例:
```
<select id="getUserList" resultType="User">
SELECT * FROM user
<where>
<if test="name != null and name != ''">
AND name = #{name}
</if>
<if test="state != null">
AND state = #{state}
</if>
<if test="sex != null">
AND sex = #{sex}
</if>
<if test="age != null">
AND age = #{age}
</if>
</where>
</select>
```
在上面的示例中,根据传入的参数动态生成了查询条件。如果传入了name参数,则会添加name = #{name}的条件;如果传入了state参数,则会添加state = #{state}的条件,以此类推。这样就可以根据不同的条件进行灵活的查询。
参考资料:
[1] 最近在开发项目的时候涉及到复杂的动态条件查询,但是mybaits本身不支持if elseif类似的判断但是我们可以间接通过 chose when otherwise 去实现其中choose为一个整体 when是if otherwise是else 快速使用。[1]
[2] http://www.leftso.com/blog/765.html[2]
[3] https://www.cnblogs.com/buzheng/p/12485464.html[3]
阅读全文