MyBatis中动态sql语句标签详解

  1. 动态 SQL

通常写在mapper包下面的地址映射配置文件(.xml)中。根据条件的不同, SQL 语句也会随之动态的改变. MyBatis 中,提供了一组标签用于实现动态 SQL.
动态SQL语句标签包括以下标签:
where…if… 标签
choose…when…otherwise… 标签
set…if 标签
trim 标签
bind 标签
foreach 标签
include 标签

1. where…if… 标签

where标签:用于管理 where 子句. 有如下功能:
a) 如果没有条件, 不会生成 where 关键字
b) 如果有条件, 会自动添加 where 关键字
c) 如果第一个条件中有 and, 自动去除之
if 标签
用于进行条件判断, test 属性用于指定判断条件.
为了拼接条件, 在 SQL 语句后强行添加 1=1 的恒成立条件
MyBatis中动态sql语句标签详解
MyBatis中动态sql语句标签详解

2. choose…when…otherwise标签

只能查询一个条件,类似switch语句
MyBatis中动态sql语句标签详解
MyBatis中动态sql语句标签详解

3. set…if…(注意加逗号)

MyBatis中动态sql语句标签详解
MyBatis中动态sql语句标签详解

4. trim 标签

对sql语句进行处理
MyBatis中动态sql语句标签详解
MyBatis中动态sql语句标签详解

5. bind 标签

对传出来的数据进行再加工
MyBatis中动态sql语句标签详解
MyBatis中动态sql语句标签详解

6. foreach 标签

拼接参数 用于in查询中
MyBatis中动态sql语句标签详解
MyBatis中动态sql语句标签详解

7. include 标签

可以引用部分sql语句便于调用
MyBatis中动态sql语句标签详解
MyBatis中动态sql语句标签详解