batch insert 只能回写一个元素的id,其他元素的id不回写
https://cloud.tencent.com/developer/article/1023410
batch insert 回写list 所有元素的id
how to get each entity's id when batch insert using mybatis
https://github.com/mybatis/mybatis-3/issues/484
@Test
void testInsertWithMapper() {
try (SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH)) {
Mapper userMapper = sqlSession.getMapper(Mapper.class);
User user1 = new User(null, "Pocoyo");
userMapper.insert(user1);
User user2 = new User(null, "Valentina");
userMapper.insert(user2);
sqlSession.flushStatements();
assertEquals(Integer.valueOf(50), user1.getId());
assertEquals(Integer.valueOf(50), user2.getId());
sqlSession.commit();
}
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
List<User> users = sqlSession.selectList("select");
Assertions.assertEquals(2, users.size());
}
}