欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis中通用Mapper的InsertList()用法

 更新時(shí)間:2025年02月08日 09:27:05   作者:大金海  
文章介紹了通用Mapper中的insertList()方法在批量新增時(shí)的使用方式,包括自增ID和自定義ID的情況,對(duì)于自增ID,使用tk.mybatis.mapper.additional.insert.InsertListMapper包下的insertList()方法;對(duì)于自定義ID,需要重寫insertList()方法

關(guān)于通用mapper中的的insertList()方法

針對(duì)通用Mapper中批量新增時(shí)是否需要自增ID或者自定義ID時(shí)需要使用不同包下的insertList()

通常批量插入的ID非自增的ID(及自定義生成ID策略),所以tk.mybatis.mapper.additional.insert.InsertListMapper包下的insertList()經(jīng)常用在項(xiàng)目組中

配合@Intercepts 自定義 Mybatis 攔截 update 操作(添加和修改)

tk.mybatis.mapper.common.special.InsertListMapper包下的insertList()方法

  • pom導(dǎo)入:
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-base</artifactId>
        </dependency>
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-core</artifactId>
        </dependency>

使用該方法的實(shí)體類主鍵必須是自增的(需要在實(shí)體類中指出)。

如果實(shí)體的主鍵名為’id’,同時(shí)主鍵自增。在不修改代碼的情況下,使用insertList()方法實(shí)現(xiàn)的批量插入數(shù)據(jù)后通用mapper能自動(dòng)回寫主鍵值到實(shí)體對(duì)象中。

  • 如以下實(shí)體類和對(duì)應(yīng)mapper:
@Data
@Table(name = "user")
public class User {
    @Id
    @KeySql(useGeneratedKeys = true)
    private Integer id;
    private String username;
    private String desc;
}

public interface UserMapper extends InsertListMapper<User> {

}

如果實(shí)體類主鍵名不是id,同時(shí)實(shí)體類主鍵是自增的,想要實(shí)現(xiàn)實(shí)體類主鍵回寫,需要重寫insertList()方法,其實(shí)就是修改了注解上的值,把@Options注解上的keyProperty值改為自己實(shí)體類的主鍵名

  • 如以下實(shí)體類和對(duì)應(yīng)的mapper:
@Data
@Table(name = "user")
public class User {
   @Id
   @KeySql(useGeneratedKeys = true)
   private Integer uid;
   private String username;
   private String desc;
}

public interface UserMapper extends Mapper<User>, InsertListMapper<User> {

    @Options(keyProperty = "uid",useGeneratedKeys = true)
    @InsertProvider(type = SpecialProvider.class, method = "dynamicSQL")
    int insertList(List<User> recordList);
}

tk.mybatis.mapper.additional.insert.InsertListMapper包下的insertList()方法

  • pom導(dǎo)入:
        <!-- https://mvnrepository.com/artifact/tk.mybatis/mapper-extra -->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-extra</artifactId>
            <version>1.1.5</version>
        </dependency>
  • 該方法不支持主鍵策略,需要在實(shí)體類中指定主鍵。
  • 該方法執(zhí)行后不會(huì)回寫實(shí)體類的主鍵值。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java使用靜態(tài)關(guān)鍵字實(shí)現(xiàn)單例模式

    java使用靜態(tài)關(guān)鍵字實(shí)現(xiàn)單例模式

    這篇文章主要為大家詳細(xì)介紹了java使用靜態(tài)關(guān)鍵字實(shí)現(xiàn)單例模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 基于springboot微信公眾號(hào)開發(fā)(微信自動(dòng)回復(fù))

    基于springboot微信公眾號(hào)開發(fā)(微信自動(dòng)回復(fù))

    這篇文章主要介紹了基于springboot微信公眾號(hào)開發(fā)(微信自動(dòng)回復(fù)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 解決微服務(wù)下Mybatis?xml無(wú)效綁定問(wèn)題及分析Invalid?bound?statement

    解決微服務(wù)下Mybatis?xml無(wú)效綁定問(wèn)題及分析Invalid?bound?statement

    這篇文章主要介紹了解決微服務(wù)下Mybatis?xml無(wú)效綁定問(wèn)題及分析Invalid?bound?statement,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Springboot內(nèi)置Tomcat配置參數(shù)調(diào)優(yōu)方式

    Springboot內(nèi)置Tomcat配置參數(shù)調(diào)優(yōu)方式

    這篇文章主要介紹了Springboot內(nèi)置Tomcat配置參數(shù)調(diào)優(yōu)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • springboot基于Redis發(fā)布訂閱集群下WebSocket的解決方案

    springboot基于Redis發(fā)布訂閱集群下WebSocket的解決方案

    這篇文章主要介紹了springboot基于Redis發(fā)布訂閱集群下WebSocket的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • JAVA時(shí)間存儲(chǔ)類Period和Duration使用詳解

    JAVA時(shí)間存儲(chǔ)類Period和Duration使用詳解

    這篇文章主要為大家介紹了JAVA時(shí)間存儲(chǔ)類Period和Duration使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • JAVA面試題 從源碼角度分析StringBuffer和StringBuilder的區(qū)別

    JAVA面試題 從源碼角度分析StringBuffer和StringBuilder的區(qū)別

    這篇文章主要介紹了JAVA面試題 從源碼角度分析StringBuffer和StringBuilder的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們來(lái)一起學(xué)習(xí)下吧
    2019-07-07
  • Java中StringBuilder類的介紹與常用方法

    Java中StringBuilder類的介紹與常用方法

    StringBuilder是一個(gè)可變的字符串的操作類,我們可以把它看成是一個(gè)對(duì)象容器,下面這篇文章主要給大家介紹了關(guān)于Java中StringBuilder類的介紹與常用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 詳解Spring集成Redis的兩種方式

    詳解Spring集成Redis的兩種方式

    在工作中,我們用到分布式緩存的時(shí)候,第一選擇就是Redis,今天介紹一下SpringBoot如何集成Redis的,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • Java BufferedImage轉(zhuǎn)換為MultipartFile方式

    Java BufferedImage轉(zhuǎn)換為MultipartFile方式

    這篇文章主要介紹了Java BufferedImage轉(zhuǎn)換為MultipartFile方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論