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

MyBatis批量添加數(shù)據(jù)2種實現(xiàn)方法

 更新時間:2020年06月11日 11:36:14   作者:shouyaya  
這篇文章主要介紹了MyBatis批量添加數(shù)據(jù)2種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

1.通過for each標(biāo)簽拼接sql(數(shù)量較少的時候使用)

  a.拼接values()

  public int addPersons(@Param("persons") List<Person> persons);//接口

<insert id="addPersons">
 insert into person(username,email,gender) VALUES
  <foreach collection="persons" item="person" separator=";">
   (#{person.username},#{person.email},#{person.gender})
  </foreach>
 </insert>

<!--類似的效果 insert into person(username,email,gender) VALUES("zhangsan","zhangsan@163.com","F"),("lisi","lisi@163.com","F"),... -->

  b.拼接insert sql語句(需設(shè)置屬性allowMultiQueries=true)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?allowMultiQueries=true //需設(shè)置屬性
jdbc.username=root
jdbc.password=123

public int addPersons(@Param("persons") List<Person> persons);//接口

<insert id="addPersons">
  insert into person(username,email,gender) VALUES
  <foreach collection="persons" item="person" separator=",">
   (#{person.username},#{person.email},#{person.gender})
  </foreach>
 </insert>
<!--類似的效果 insert into person(username,email,gender) VALUES("tom","zhangsan@163.com","F");
        insert into person(username,email,gender) VALUES("jerry","lisi@163.com","F");...-->

2.基于Session的ExecutorType進(jìn)行批量添加

先定義一條插入一條記錄的方法

public int addPerson(User user); //接口

 <insert id="addPerson" parameterType="user">
  insert into t_user(username,address) VALUES (#{username},#{address})
 </insert>

在java代碼中使用

public void testBatchForExecutor()
  {
    SqlSession sqlSession = this.getSqlSessionFactory().openSession(ExecutorType.BATCH); //通過session設(shè)置ExecutorType開啟批量添加,類似jdbc的addBatch操作
    PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
    for (int i = 0; i <10000 ; i++)
    {
      personMapper.addPerson(new User("jerry","bj"));
    }
    sqlSession.commit();
    sqlSession.close();
  }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 函數(shù)編程詳細(xì)介紹

    Java 函數(shù)編程詳細(xì)介紹

    這篇文章主要介紹了Java函數(shù)式編程,lambda表達(dá)式可以被認(rèn)為是一個匿名函數(shù),可以在函數(shù)接口的上下文中使用。函數(shù)接口是只指定一個抽象方法的接口,下面來看文章的詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-11-11
  • java String拼接時的問題匯總

    java String拼接時的問題匯總

    在本篇文章里小編給大家整理的是關(guān)于java String拼接時的問題匯總,有需要的朋友們可以參考下。
    2020-02-02
  • SpringBoot項目的多文件兼多線程上傳下載

    SpringBoot項目的多文件兼多線程上傳下載

    本文主要介紹了SpringBoot項目的多文件兼多線程上傳下載,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • logback的LevelFilter日志過濾器源碼解讀

    logback的LevelFilter日志過濾器源碼解讀

    這篇文章主要為大家介紹了logback的LevelFilter日志過濾器源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • SpringBoot的配置文件(properties與yml)使用方法

    SpringBoot的配置文件(properties與yml)使用方法

    配置文件中的配置類型有兩類,一類是系統(tǒng)配置項,這種配置的格式都是固定的,是給系統(tǒng)使用的,另一種是用戶自定義配置,用戶可以隨意地規(guī)定配置項的格式,又用戶自行去設(shè)置和讀取,這篇文章主要介紹了SpringBoot的配置文件(properties與yml)使用方法,需要的朋友可以參考下
    2023-08-08
  • java基于JDBC連接Oracle 11g Release2實例分析

    java基于JDBC連接Oracle 11g Release2實例分析

    這篇文章主要介紹了java基于JDBC連接Oracle 11g Release2的方法,實例分析了JDBC連接Oracle 11g Release2容易出現(xiàn)的異常與解決方法,需要的朋友可以參考下
    2015-06-06
  • 解析Java中的隊列和用LinkedList集合模擬隊列的方法

    解析Java中的隊列和用LinkedList集合模擬隊列的方法

    這篇文章主要介紹了解析Java中的隊列和用LinkedList集合模擬隊列的方法,相關(guān)算法的實現(xiàn)也是ACM中的常見題目,需要的朋友可以參考下
    2015-08-08
  • Java報錯sun.misc.Unsafe.park(Native Method)問題

    Java報錯sun.misc.Unsafe.park(Native Method)問題

    這篇文章主要介紹了Java報錯sun.misc.Unsafe.park(Native Method)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • idea項目代碼打包為jar包的超詳細(xì)步驟

    idea項目代碼打包為jar包的超詳細(xì)步驟

    因為業(yè)務(wù)開發(fā)場景需要,將開發(fā)項目中的Java類打成一個jar包引入到外部工具中,下面這篇文章主要給大家介紹了關(guān)于idea項目代碼打包為jar包的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 快速入手IntelliJ IDEA基本配置

    快速入手IntelliJ IDEA基本配置

    IntelliJ IDEA是java編程語言開發(fā)的集成環(huán)境,本篇主要介紹了對它的安裝、配置maven倉庫、調(diào)試方法、常用的插件推薦、快捷鍵大全與常用快捷鍵說明,感興趣的朋友一起看看吧
    2021-10-10

最新評論