目的:避免写非常长的SQL语句
public class Employee {
private Integer id;
private String lastName;
private String email;
private String gender;
.........
}
public interface EmployeeMapper {
public Long addEmp(Employee employee);
}
public class MyBatisTest {
public SqlSessionFactory getSqlSessionFactory() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
return new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void testBatch() throws IOException {
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
SqlSession openSession = sqlSessionFactory.openSession(ExecutorType.BATCH); //包装执行器
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
try {
for (int i = 0; i < 10000; i++) { //批量执行1W条数据
mapper.addEmp(new Employee(UUID.randomUUID().toString().substring(0, 5), "b","0"));
}
openSession.commit();
}
<?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.EmployeeMapper">
<!--public Long addEmp(Employee employee); -->
<insert id="addEmp" useGeneratedKeys="true" keyProperty="id">
insert into tbl_employee(last_name,email,gender)
values(#{lastName},#{email},#{gender})
</insert>
</mapper>