mybatis如何动态修改sql
时间: 2023-08-14 19:05:04 浏览: 129
Mybatis动态sql
MyBatis可以通过动态SQL来实现在运行时动态修改SQL语句。MyBatis支持的动态SQL标签包括if、choose、when、otherwise、trim、where、set和foreach。
其中,if标签可以根据不同的条件来动态增减SQL语句的一部分,例如:
```
<select id="getUserList" resultType="User">
SELECT * FROM user
<where>
<if test="id != null">
AND id = #{id}
</if>
<if test="name != null">
AND name LIKE '%${name}%'
</if>
<if test="email != null">
AND email = #{email}
</if>
</where>
</select>
```
当id、name、email三个变量中有值时,就会动态组装出不同的SQL语句。其中,test属性指定了判断条件,如果满足条件则执行标签内的SQL语句。
除了if标签,还有其他的动态SQL标签可以根据不同的场景来动态增减SQL语句的一部分,具体使用方式可以查看MyBatis官方文档。
阅读全文