MyBatis Sql Session 批量插入
https://blog.csdn.net/yangliuhbhd/category_6393706.html
今天学习中看到关于Sql Session 用法以及优缺点,上面的链接一个高手的学习笔记,
关于mybatis的,自我承认肯定没人家写的好,总结的详细,就把人家的链接给收藏了。
下面总结一下关于Sql session批量插入的用法:
//设置ExecutorType.BATCH原理:把SQL语句发个数据库,数据库预编译好,数据库等待需要运行的参数,接收到参数后一次运行
java代码部分:
SqlSession session = getSqlSessionFactory().openSession(ExecutorType.BATCH);
try {
UserMapper uMapper = (UserMapper) session.getMapper(UserMapper.class);
List<User> userList=new ArrayList<User>();
for (int i = 0; i <100000 ; i++) {
User user=new User(UUID.randomUUID().toString().substring(), "小明", now(), now(), 1);
userList.add(user);
deptMapper.insertUserBatch(userList);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
session.commit();
session.close();
}
创建一个简单的 insert 语句:
<insert id="insertUserBatch">
insert into userList values (#{value});
</insert>