优化mybatis-plus批量新增(只对MySql生效Oracle不生效)
因为mybatis-plus的批量新增是一条一条的耗费资源和慢所以进行批量优化
1.自定义Sql注入器MySqlInjector继承DefaultSqlInjector
public class MySqlInjector extends DefaultSqlInjector { @Override public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) { List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo); methodList.add(new InsertBatchSomeColumn()); // 添加InsertBatchSomeColumn方法 return methodList; } }
2.然后将自定义的Sql注入器注入
@Bean public MySqlInjector mySqlInjector () { return new MySqlInjector(); }
3.在需要批量的类引入insertBatchSomeColumn方法
(或者创建个接口继承BaseMapper 让别的接口继承新的BaseMapper)
@Mapper public interface TProcessNodeMapper extends BaseMapper<TProcessNode> { /** * 批量插入(mysql) * @param entityList * @return */ Integer insertBatchSomeColumn(Collection<TProcessNode> entityList); }
4.如果项目内引入了Mybatis联表插件会报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构