动态 SQL 概述
MyBatis 提供了强大的动态 SQL 功能,使得 SQL 语句可以根据不同的条件进行灵活组合。以下是几种常用的动态 SQL 标签及其应用场景。
1. 条件判断:if 和 where
2. 自定义字符串截取规则:trim
3. 分支选择:choose (when, otherwise)
4. 封装查询和修改条件:where 和 set
UPDATE t_employee
last_name=#{lastName},
email=#{email},
gender=#{gender}
id=#{id}
5. 批量处理:foreach
INSERT INTO t_employee(id, last_name, gender, email) VALUES(#{emp.id}, #{emp.lastName}, #{emp.gender}, #{emp.email})
6. 内置参数和 bind
7. 可重用 SQL 片段
id, last_name, gender, email
--------
INSERT INTO t_employee( ) VALUES(#{emp.id}, #{emp.lastName}, #{emp.gender}, #{emp.email})