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

Mybatis數(shù)據(jù)批量插入如何實(shí)現(xiàn)

 更新時間:2020年07月29日 10:55:07   作者:jock_javaEE  
這篇文章主要介紹了Mybatis數(shù)據(jù)批量插入如何實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

1:xml的配置

 <insert id="insertUserBatch">
  insert into user(username, birthday, sex, address)
  VALUES
  <foreach collection="list" item="User" index="index" separator=",">
    (
     #{User.username},
     #{User.birthday},
     #{User.sex},
     #{User.address}
    )
  </foreach>
</insert>

2:測試

@Test
public void insertUserBatch() {
  List<User> users = new ArrayList<User>();

  User user1 = new User();
  user1.setUsername("云澈");
  user1.setSex("男");

  User user2 = new User();
  user2.setUsername("張小凡");
  user2.setSex("男");

  User user3 = new User();
  user3.setUsername("火靈兒");
  user3.setSex("女");

  users.add(user1);
  users.add(user2);
  users.add(user3);


  userMapper.insertUserBatch(users);
  sqlSession.commit();
}

對于foreach標(biāo)簽的解釋參考了網(wǎng)上的資料,具體如下:

foreach的主要用在構(gòu)建in條件中,它可以在SQL語句中進(jìn)行迭代一個集合。

foreach元素的屬性主要有 item,index,collection,open,separator,close。

item表示集合中每一個元素進(jìn)行迭代時的別名,index指定一個名字,用于表示在迭代過程中,每次迭代到的位置,open表示該語句以什么開始,separator表示在每次進(jìn)行迭代之間以什么符號作為分隔 符,close表示以什么結(jié)束,在使用foreach的時候最關(guān)鍵的也是最容易出錯的就是collection屬性,該屬性是必須指定的,但是在不同情況 下,該屬性的值是不一樣的,主要有一下3種情況:

1.如果傳入的是單參數(shù)且參數(shù)類型是一個List的時候,collection屬性值為list

2.如果傳入的是單參數(shù)且參數(shù)類型是一個array數(shù)組的時候,collection的屬性值為array

3.如果傳入的參數(shù)是多個的時候,我們就需要把它們封裝成一個Map了,當(dāng)然單參數(shù)也可以封裝成map

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

相關(guān)文章

最新評論