mybatis怎么使用动态sql语句
时间: 2023-07-05 10:09:04 浏览: 128
MyBatis 提供了动态 SQL 的功能,可以按照条件动态生成 SQL 语句。
动态 SQL 语句可以使用 XML 或注解的方式来编写。下面以 XML 的方式来演示如何使用动态 SQL。
MyBatis 的动态 SQL 语句主要有以下几种标签:
- if:判断条件是否成立,成立则执行 SQL 语句
- choose、when、otherwise:类似于 switch 语句,根据条件选择执行的 SQL 语句
- foreach:循环遍历集合或数组,生成多条 SQL 语句
- set:设置更新语句的属性值
- where:设置查询语句的条件
下面是一个使用 if 和 where 标签的动态 SQL 示例:
```xml
<select id="getUserList" resultType="User">
SELECT * FROM user
<where>
<if test="name != null">
AND name = #{name}
</if>
<if test="age != null">
AND age = #{age}
</if>
</where>
</select>
```
这个示例中,如果传入的参数 name 不为空,则在 SQL 语句中添加一个条件 name = #{name},如果传入的参数 age 不为空,则在 SQL 语句中添加一个条件 age = #{age}。最终生成的 SQL 语句类似于:
```sql
SELECT * FROM user WHERE name = '张三' AND age = 20
```
以上是 MyBatis 动态 SQL 的简单示例,更多的语法和标签请参考 MyBatis 官方文档。
阅读全文