mybatis plus批量插入

  1. MyBatis Plus 提供了 saveBatch 方法,该方法专门用于批量插入操作。它可以接收一个实体类的集合,并且可以选择是否每次插入后都刷新(提交)事务。

  2. MyBatis Plus 在执行插入操作时,如果传入的是一个集合(List、Set等),那么它会自动识别并进行批量插入。不过,这种方式的批量插入是依赖于 MyBatis 自身的批量操作支持,可能并不是最优的。

  3. 有时候,为了更精细地控制批量插入的行为,你可能需要编写自定义的 SQL 语句。MyBatis Plus 支持通过注解或 XML 配置文件来编写自定义 SQL。

  4. 使用 saveBatch 方法举例

// 1. 定义实体类  
public class User {  
    private Long id;  
    private String name;  
    private Integer age;  
    // getters and setters  

// 2. 定义 Mapper 接口  
public interface UserMapper extends BaseMapper<User> {  

// 3. 定义 Service 接口  
public interface UserService extends IService<User> {  

// 4. 实现 Service 接口  
@Service  
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { 
    // 批量插入用户  
    public void insertUsers(List<User> users) {  
        saveBatch(users);  // 默认每次插入 1000 条数据,可以通过设置 `batchSize` 属性来调整  
        // 或者使用 saveBatch(users, batchSize) 方法来指定每次插入的数据量  
    }  
}  

// 5. 在你的业务代码中调用  
@Autowired  
private UserService userService;  
  
public void someBusinessMethod() {  
    List<User> users = new ArrayList<>();  
    // 假设这里添加了多个用户到 users 列表中  
    userService.insertUsers(users);  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值