mybatis动态sql中的sql标签——抽取可重用的sql片段
1.用<sql>标签抽取可重用的sql片段
<!-- 抽取可重用的SQL片段,方便后面引用
1.sql抽取,经常将要查询的列名,或者插入用的列名,之后方便引用
2.include来引用已经抽取的sql
-->
<sql id="insertColumn">
ename,gender,email,did
</sql>
2.在多列名的sql中,使用<include>标签引用sql片段,如:
<!-- 批量保存(foreach插入多条数据两种方法)
int addEmpsBatch(@Param("emps") List<Employee> emps); -->
<!-- MySQL下批量保存,可以foreach遍历 mysql支持values(),(),()语法 -->
<insert id="addEmpsBatch">
<!-- INSERT INTO emp(ename,gender,email,did) -->
INSERT INTO emp(
<!-- 引用外部定义的sql -->
<include refid="insertColumn"></include>
)
VALUES
<foreach collection="emps" item="emp" separator=",">
(#{emp.eName},#{emp.gender},#{emp.email},#{emp.dept.id})
</foreach>
</insert>