dao接口:
public interface EmployeeDynamicSQLMapper {
public void addEmps(@Param("emps") List<Employee> emps);
}
方法一:MySql下批量保存:可以foreach遍历mysql支持values(),(),()语法
<insert id="addEmps" >
insert into tbl_employee (last_name,email,gender,d_id)
values
<foreach collection="emps" separator="," item="emp">
(#{emp.lastName},#{emp.email},#{emp.gender},#{emp.dept.id})
</foreach>
</insert>
方法二:可以可以foreach遍历执行insert方法,每一条insert语句用“;”隔开。
<insert id="addEmps">
<foreach collection="emps" item="emp" separator=";">
insert into tbl_employee (last_name,email,gender,d_id) values(#{emp.lastName},#{emp.email},#{emp.gender},#{emp.dept.id})
</foreach>
</insert>
注意:一般Mysql默认不支持用“;”隔开,所以当选择方法二时,需要将allowMultiQueries
属性设置为true;
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/mybatis?allowMultiQueries=true
jdbc.username = root
jdbc.password = root