MybatisPlus實(shí)現(xiàn)insertBatchSomeColumn進(jìn)行批量增加
1、引入相關(guān)依賴
? ? ? ? <!--mybatis-plus啟動(dòng)器--> ? ? ? ? <dependency> ? ? ? ? ? ? <groupId>com.baomidou</groupId> ? ? ? ? ? ? <artifactId>mybatis-plus-boot-starter</artifactId> ? ? ? ? ? ? <version>3.5.1</version> ? ? ? ? </dependency> ? ? ? ? ? ? ? ? <!--mybatis-plus擴(kuò)展插件依賴--> ? ? ? ? <dependency> ? ? ? ? ? ? <groupId>com.baomidou</groupId> ? ? ? ? ? ? <artifactId>mybatis-plus-extension</artifactId> ? ? ? ? ? ? <version>3.5.1</version> ? ? ? ? </dependency>
2、編寫sql注入器
package com.linmain.mysql.config;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;
import java.util.List;
/**
?* @Author linzhuoqi
?* @Date 2023/3/10
?* @Eamil 1580752420@qq.com
?* @Version
?* @Description ? ?自定義的sql注入器,插入了批量插入的方法
?*/
public class EasySqlInjector extends DefaultSqlInjector {
? ? @Override
? ? public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) {
? ? ? ? // 注意:此SQL注入器繼承了DefaultSqlInjector(默認(rèn)注入器),調(diào)用了DefaultSqlInjector的getMethodList方法,保留了mybatis-plus的自帶方法
? ? ? ? List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo);
? ? ? ? //增加了一個(gè)批量插入的方法
? ? ? ? methodList.add(new InsertBatchSomeColumn(i -> i.getFieldFill() != FieldFill.UPDATE));
? ? ? ? return methodList;
? ? }
}3、在mybatisPlus的配置類中注入插件
@Configuration
public class MyBatisPlusConfig {
?
? ? @Bean
? ? public MybatisPlusInterceptor mybatisPlusInterceptor(){
? ? ? ? MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
? ? ? ? //添加分頁(yè)插件
? ? ? ? interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
? ? ? ? //添加樂(lè)觀鎖插件
? ? ? ? interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
? ? ? ? return interceptor;
? ? }
?
? ? @Bean
? ? public EasySqlInjector easySqlInjector() {
? ? ? ? return new EasySqlInjector();
? ? }
?
}4、編寫dao層接口
package com.linmain.column.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.linmain.column.pojo.entity.ColTag;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
/**
?* 專欄標(biāo)簽(ColTag)表數(shù)據(jù)庫(kù)訪問(wèn)層
?*
?* @Author linzhuoqi
?* @Date 2023-03-02 20:44:38
?* @Eamil 1580752420@qq.com
?* @Version
?* @Description
?*/
@Mapper
public interface ColTagDao extends BaseMapper<ColTag> {
? ? /**
? ? ?* 批量插入 僅適用于mysql
? ? ?*
? ? ?* @param entityList 實(shí)體列表
? ? ?* @return 影響行數(shù)
? ? ?*/
? ? Integer insertBatchSomeColumn(Collection<ColTag> entityList);
}5、最后
進(jìn)行正常的使用即可
colTagDao.insertBatchSomeColumn(colTags);
到此這篇關(guān)于MybatisPlus實(shí)現(xiàn)insertBatchSomeColumn進(jìn)行批量增加的文章就介紹到這了,更多相關(guān)MybatisPlus insertBatchSomeColumn批量增加內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java動(dòng)態(tài)導(dǎo)出excel壓縮成zip下載的方法
這篇文章主要為大家詳細(xì)介紹了java動(dòng)態(tài)導(dǎo)出excel壓縮成zip下載的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
Java開(kāi)發(fā)中的23種設(shè)計(jì)模式詳解(推薦)
本篇文章主要介紹了Java開(kāi)發(fā)中的23種設(shè)計(jì)模式詳解,現(xiàn)在分享給大家,也給大家做個(gè)參考。感興趣的小伙伴們可以參考一下。 設(shè)計(jì)模式(Design Patterns)2016-11-11
SpringBoot通過(guò)源碼探究靜態(tài)資源的映射規(guī)則實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot通過(guò)源碼探究靜態(tài)資源的映射規(guī)則實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Invalid?bound?statement?(not?found)出現(xiàn)原因以及解決辦法
這篇文章主要給大家介紹了關(guān)于Invalid?bound?statement?(not?found)出現(xiàn)原因以及解決辦法的相關(guān)資料,文中給出了詳細(xì)的解決方法,需要的朋友可以參考下2023-07-07
淺談java中為什么重寫equals后需要重寫hashCode
今天帶各位學(xué)習(xí)一下java中為什么重寫equals后需要重寫hashCode,文中有非常詳細(xì)的圖文介紹及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05
Java?精煉解讀時(shí)間復(fù)雜度與空間復(fù)雜度
對(duì)于一個(gè)算法,其時(shí)間復(fù)雜度和空間復(fù)雜度往往是相互影響的,當(dāng)追求一個(gè)較好的時(shí)間復(fù)雜度時(shí),可能會(huì)使空間復(fù)雜度的性能變差,即可能導(dǎo)致占用較多的存儲(chǔ)空間,這篇文章主要給大家介紹了關(guān)于Java時(shí)間復(fù)雜度、空間復(fù)雜度的相關(guān)資料,需要的朋友可以參考下2022-03-03
在spring-boot工程中添加spring mvc攔截器
這篇文章主要介紹了在spring-boot工程中添加spring mvc攔截器,Spring MVC的攔截器(Interceptor)不是Filter,同樣可以實(shí)現(xiàn)請(qǐng)求的預(yù)處理、后處理。,需要的朋友可以參考下2019-06-06

