参考答案
MyBatis批量插入的两个实现方式:
1. 打开批量插入的 SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); for (int i = 36; i <= 45; i++) { userMapper.insertUser(new User(i, "ConstXiong" + i)); } sqlSession.commit(); sqlSession.close();
2. 拼接批量插入的 insert SQL
//Java 代码 List<User> userList = new ArrayList<>(); for (int i = 46; i <= 55; i++) { userList.add(new User(i,"ConstXiong" + i)); } userMapper.insertUserBatch(userList); <!--Mapper xml 中配置--> <insert id="insertUserBatch" parameterType="java.util.List"> insert into user values <foreach collection="list" item="item" separator =","> (#{item.id}, #{item.name}) </foreach> </insert>
以上,是MyBatis面试题【MyBatis如何批量插入】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—