学习mybatis3的第6天
学习与select,insert,delete,update同级的标签-sql标签
sql标签是用来抽取可重用的sql片段。方便后面引用。有些查询或者插入的场景,那些需要写的字段很多,经常要重复写。
1、接口里面的方法。
public void addEmps(@Param("emps") List<Employee> emps);
2、之前的sql映射文件的编写。
<insert id="addEmps">
INSERT INTO `tbl_employee`(last_name,email,gender,d_id)
VALUES
<foreach collection="emps" item="emp" separator=",">
(#{emp.lastName},#{emp.email},#{emp.gender},#{emp.dept.id})
</foreach>
</insert>
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CN5YjNyAjZzQ2MxEWYhVzNzYzX3MTOyETM3EzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
3、现在的sql映射文件:
<insert id="addEmps">
INSERT INTO `tbl_employee`(
<include refid="insertCol"></include>
)
VALUES
<foreach collection="emps" item="emp" separator=",">
(#{emp.lastName},#{emp.email},#{emp.gender},#{emp.dept.id})
</foreach>
</insert>
<sql id="insertCol">
last_name,email,gender,d_id
</sql>