MybatisPlus如何实现insertBatchSomeColumn进行批量增加
本篇内容介绍了“MybatisPlus如何实现insertBatchSomeColumn进行批量增加”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1、引入相关依赖<!--mybatis-plus启动器--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency><!--mybatis-plus扩展插件依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-extension</artifactId><version>3.5.1</version></dependency>2、编写sql注入器packagecom.linmain.mysql.config;importcom.baomidou.mybatisplus.annotation.FieldFill;importcom.baomidou.mybatisplus.core.injector.AbstractMethod;importcom.baomidou.mybatisplus.core.injector.DefaultSqlInjector;importcom.baomidou.mybatisplus.core.metadata.TableInfo;importcom.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;importjava.util.List;/***@Authorlinzhuoqi*@Date2023/3/10*@Eamil1580752420@qq.com*@Version*@Description自定义的sql注入器,插入了批量插入的方法*/publicclassEasySqlInjectorextendsDefaultSqlInjector{@OverridepublicList<AbstractMethod>getMethodList(Class<?>mapperClass,TableInfotableInfo){//注意:此SQL注入器继承了DefaultSqlInjector(默认注入器),调用了DefaultSqlInjector的getMethodList方法,保留了mybatis-plus的自带方法List<AbstractMethod>methodList=super.getMethodList(mapperClass,tableInfo);//增加了一个批量插入的方法methodList.add(newInsertBatchSomeColumn(i->i.getFieldFill()!=FieldFill.UPDATE));returnmethodList;}}3、在mybatisPlus的配置类中注入插件@ConfigurationpublicclassMyBatisPlusConfig{@BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){MybatisPlusInterceptorinterceptor=newMybatisPlusInterceptor();//添加分页插件interceptor.addInnerInterceptor(newPaginationInnerInterceptor(DbType.MYSQL));//添加乐观锁插件interceptor.addInnerInterceptor(newOptimisticLockerInnerInterceptor());returninterceptor;}@BeanpublicEasySqlInjectoreasySqlInjector(){returnnewEasySqlInjector();}}4、编写dao层接口packagecom.linmain.column.dao;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom.linmain.column.pojo.entity.ColTag;importorg.apache.ibatis.annotations.Mapper;importorg.apache.ibatis.annotations.Param;importjava.io.Serializable;importjava.util.Collection;importjava.util.List;/***专栏标签(ColTag)表数据库访问层**@Authorlinzhuoqi*@Date2023-03-0220:44:38*@Eamil1580752420@qq.com*@Version*@Description*/@MapperpublicinterfaceColTagDaoextendsBaseMapper<ColTag>{/***批量插入仅适用于mysql**@paramentityList实体列表*@return影响行数*/IntegerinsertBatchSomeColumn(Collection<ColTag>entityList);}5、最后
进行正常的使用即可
colTagDao.insertBatchSomeColumn(colTags);
“MybatisPlus如何实现insertBatchSomeColumn进行批量增加”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!