mybatis if else 举个例子
时间: 2023-07-28 09:08:44 浏览: 87
mybatis关联/级联以及动态sql
当使用MyBatis进行数据库操作时,可以在XML的SQL语句中使用if/else条件判断语句来动态生成SQL语句。
以下是一个简单的示例,假设我们有一个User实体类,其中有两个属性:name和age。我们想要查询符合条件的用户列表,可以根据条件动态生成SQL语句:
```xml
<select id="getUserList" resultType="User">
SELECT * FROM users
<where>
<if test="name != null and name != ''">
AND name = #{name}
</if>
<if test="age != null and age > 0">
AND age = #{age}
</if>
</where>
</select>
```
在上面的示例中,我们使用了`<where>`标签来组合条件,每个条件使用`<if>`标签进行判断。如果name不为空,则会生成`AND name = #{name}`这部分的SQL语句;如果age大于0,则会生成`AND age = #{age}`这部分的SQL语句。
当调用`getUserList`方法时,可以传入一个User对象作为参数,MyBatis会根据对象的属性值动态生成SQL语句,从而实现条件查询。例如,如果传入一个User对象,只设置了name属性为"John",则生成的SQL语句为:`SELECT * FROM users WHERE name = 'John'`。
这样,我们就可以根据条件动态生成SQL语句,实现灵活的数据库操作。
阅读全文