1,添加真批量新增抽象接口
public interface EasyBaseMapper extends BaseMapper {
/**
* 批量插入 仅适用于mysql
*
* @return 影响行数
*/
Integer insertBatchSomeColumn(Collection entityList);
}
2,新增类,添加真批量新增的方法
public class InsertBatchSqlInjector extends DefaultSqlInjector {
@Override
public List getMethodList(Class<?> mapperClass) {
List methodList = super.getMethodList(mapperClass);
//添加InsertBatchSomeColumn方法
methodList.add(new InsertBatchSomeColumn());
return methodList;
}
}
3,MybatisPlusConfig 类中添加注册
@Bean
public InsertBatchSqlInjector easySqlInjector () {
return new InsertBatchSqlInjector();
}
4,需要的接口重新继承拥有真批量添加的类
public interface Mapper extends EasyBaseMapper<类名>
5,使用真批量新增
if (list != null && list.size() != 0) {
mapper.insertBatchSomeColumn(list);
}
6,跟一个一个添加,速度减少了90% ,下面是耗时检测
long start = System.currentTimeMillis();
long end = System.currentTimeMillis();
System.out.println("修改客户组管理耗时:"+ (end-start) + "ms");