mybatisplus postgresql 开启批处理模式BATCH 并返回本次成功批量插入数
在 MyBatis Plus 中,可以使用 SqlSessionFactory 的 getConfiguration() 方法获取 Configuration 对象,然后使用该对象的 setJdbcTypeForNull() 方法来设置批处理模式。
下面是一个示例代码:
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisConfig {
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
// 设置数据源等其他配置...
// 获取 Configuration 对象
Configuration configuration = sessionFactory.getObject().getConfiguration();
// 设置批处理模式
configuration.setJdbcTypeForNull(JdbcType.NULL);
return sessionFactory.getObject();
}
}
注意,上述代码中的 SqlSessionFactory 是 MyBatis Plus 中的 SqlSessionFactory,并且需要根据实际情况进行配置。
关于返回本次成功批量插入数,可以在执行插入操作后,通过 int[] 类型的返回值获取插入的记录数。示例如下:
int[] result = mapper.insertBatch(list);
int successCount = result.length;
其中 mapper 是使用 MyBatis Plus 自动生成的 Mapper 接口,list 是要插入的数据列表。
在上述示例中,result 数组的长度就是本次成功批量插入的记录数
原文地址: https://www.cveoy.top/t/topic/iBcm 著作权归作者所有。请勿转载和采集!