Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mybatis mysql批量insert

作者:断晴星魂   发布日期:2025-04-24   浏览:28

// MyBatis 批量插入示例代码

import org.apache.ibatis.session.SqlSession;
import java.util.List;

public class BatchInsertExample {

    public void batchInsert(List<User> users) {
        // 获取SqlSession对象
        try (SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory().openSession(ExecutorType.BATCH, false)) {
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

            // 遍历用户列表,逐个插入
            for (User user : users) {
                userMapper.insertUser(user);
            }

            // 提交事务
            sqlSession.commit();
        }
    }
}

// 对应的Mapper接口
@Mapper
public interface UserMapper {
    void insertUser(User user);
}

// MyBatis XML配置文件中的SQL语句
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
    INSERT INTO users (name, age)
    VALUES (#{name}, #{age})
</insert>

解释说明:

  1. SqlSession: 使用ExecutorType.BATCH模式来开启批量操作,并且设置自动提交为false
  2. Mapper接口: 定义了一个简单的insertUser方法,用于插入单个用户记录。
  3. XML配置: 在MyBatis的XML配置文件中定义了insertUser的SQL语句。
  4. 批量插入: 通过遍历用户列表,逐个调用insertUser方法,最后统一提交事务。

上一篇:mysql8 忘记密码

下一篇:mysql的varchar可以存多少汉字

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql.user

python mysql update

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站