public interface EmployeeMapperDynamicSQL {
public void addEmps ( @Param ( "emps" ) List< Employee> emps) ;
}
public class MyBatisTest {
@Test
public void testBatchSave ( ) throws IOException{
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory ( ) ;
SqlSession openSession = sqlSessionFactory. openSession ( ) ;
try {
EmployeeMapperDynamicSQL mapper = openSession. getMapper ( EmployeeMapperDynamicSQL. class ) ;
List< Employee> emps = new ArrayList< > ( ) ;
emps. add ( new Employee ( null, "smith0x1" , "smith0x1@atguigu.com" , "1" , new Department ( 1 ) ) ) ;
emps. add ( new Employee ( null, "allen0x1" , "allen0x1@atguigu.com" , "0" , new Department ( 1 ) ) ) ;
mapper. addEmps ( emps) ;
openSession. commit ( ) ;
} finally{
openSession. close ( ) ;
}
}
}
< ? xml version= "1.0" encoding= "UTF-8" ? >
< ! DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
< mapper namespace = "com.atguigu.mybatis.dao.EmployeeMapperDynamicSQL" >
< 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>
< / mapper>