MyBatis中动态sql语句标签详解
- 动态 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 的恒成立条件
2. choose…when…otherwise标签
只能查询一个条件,类似switch语句
3. set…if…(注意加逗号)
4. trim 标签
对sql语句进行处理
5. bind 标签
对传出来的数据进行再加工
6. foreach 标签
拼接参数 用于in查询中
7. include 标签
可以引用部分sql语句便于调用