MyBatis 如何批量插入

参考答案

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—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧