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

Mybatis如何一次性插入多條數(shù)據(jù)

 更新時間:2023年11月04日 08:45:40   作者:CCIEJohn_zhou  
這篇文章主要介紹了Mybatis如何一次性插入多條數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Mybatis一次性插入多條數(shù)據(jù)

使用Mybatis的Mapper.xml里面的<foreach>標(biāo)簽進(jìn)行循環(huán)插入

這種方法相對于controller層的for循環(huán)一條條的插入

不論是效率還是數(shù)據(jù)庫消耗都較之于后一種又很大提升

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
    <insert id="insertIntoUsers" parameterType="java.util.ArrayList">
        insert into `user`(uPassword,uName,uIDCard,uPhone,uEmail,uStatus) values
        <foreach collection="list" index="index" separator="," item="item">
            (#{item.uPassword},#{item.uName},#{item.uIDCard},#{item.uPhone},#{item.uEmail},#{item.uStatus})
        </foreach>
    </insert>
</mapper>

解釋

  • collerction:表示需要遍歷的類型基本上只有:list,array,Map這三中寫法。
  • index:表示循環(huán)的下標(biāo)。
  • separator:表示每個對象的分隔符(也是進(jìn)行下一次循環(huán)的標(biāo)識符)。
  • item:表示當(dāng)前循環(huán)對象。
  • open:以什么開頭。
  • close:以什么結(jié)尾。

提示

一般不要寫open,close,不然容易造成嵌套錯誤。

nested exception is java.sql.SQLException: Column count doesn't match value count at row 1 

(嵌套異常:sql語句的列計(jì)數(shù)與第1行的值計(jì)數(shù)不相匹配)

特別注意

mysql默認(rèn)接受sql的大小是1048576(1M),List插入數(shù)據(jù)量超過1M會報(bào)如下異常:

(可通過調(diào)整MySQL安裝目錄下的my.ini文件中[mysqld]段的"max_allowed_packet = 1M")

nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (5677854 > 1048576).

You can change this value on the server by setting the max_allowed_packet' variable.

總結(jié)

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

相關(guān)文章

  • 淺談springboot @Repository與@Mapper的區(qū)別

    淺談springboot @Repository與@Mapper的區(qū)別

    本文主要介紹了淺談springboot @Repository與@Mapper的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java 覆蓋equals時總要覆蓋hashcode

    Java 覆蓋equals時總要覆蓋hashcode

    這篇文章主要介紹了Java 覆蓋equals時總要覆蓋hashcode的相關(guān)資料,這里附有實(shí)例代碼,具有參考價值,需要的朋友可以參考下
    2016-12-12
  • Java導(dǎo)出多個excel表打包到zip文件中供客戶端另存為窗口下載實(shí)現(xiàn)方法

    Java導(dǎo)出多個excel表打包到zip文件中供客戶端另存為窗口下載實(shí)現(xiàn)方法

    最近的項(xiàng)目有一個導(dǎo)出匯總數(shù)據(jù)的要求,考慮到用戶軟件的差異,所以要分別導(dǎo)出xls以及xlsx并且打包提供下載,下面這篇文章主要給大家介紹了關(guān)于Java導(dǎo)出多個excel表打包到zip文件中供客戶端另存為窗口下載的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2023-12-12
  • 詳解IDEA多module項(xiàng)目maven依賴的一些說明

    詳解IDEA多module項(xiàng)目maven依賴的一些說明

    這篇文章主要介紹了詳解IDEA多module項(xiàng)目maven依賴的一些說明,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • Idea工具中創(chuàng)建 SpringBoot工程及入門詳解

    Idea工具中創(chuàng)建 SpringBoot工程及入門詳解

    這篇文章主要介紹了Idea工具中創(chuàng)建 SpringBoot工程及入門分析詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Java解析Excel內(nèi)容的方法

    Java解析Excel內(nèi)容的方法

    這篇文章主要介紹了Java解析Excel內(nèi)容的方法,實(shí)例分析了java解析excel文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • spring?IOC容器的Bean管理XML自動裝配過程

    spring?IOC容器的Bean管理XML自動裝配過程

    這篇文章主要為大家介紹了spring?IOC容器Bean管理基于XML的自動裝配過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Mybatis-Plus?CRUD操作方法

    Mybatis-Plus?CRUD操作方法

    通用?Service?CRUD?封裝?IService?接口,進(jìn)一步封裝?CRUD?采用?get?查詢、remove?刪除?、list?查詢集合、page?分頁的前綴命名方式區(qū)分?Mapper?層避免混淆,這篇文章主要介紹了Mybatis-Plus?CRUD的相關(guān)知識,需要的朋友可以參考下
    2023-10-10
  • 如何在 Spring Boot 中配置和使用 CSRF 保護(hù)

    如何在 Spring Boot 中配置和使用 CSRF 保護(hù)

    CSRF是一種網(wǎng)絡(luò)攻擊,它利用已認(rèn)證用戶的身份來執(zhí)行未經(jīng)用戶同意的操作,Spring Boot 提供了內(nèi)置的 CSRF 保護(hù)機(jī)制,可以幫助您防止這種類型的攻擊,這篇文章主要介紹了Spring?Boot?中的?CSRF?保護(hù)配置的使用方法,需要的朋友可以參考下
    2023-09-09
  • idea報(bào)錯:程序包org.springframework.web.bind.annotation不存在

    idea報(bào)錯:程序包org.springframework.web.bind.annotation不存在

    在用本地的maven倉庫的時候會org.springframework.web.bind.annotation不存在的錯誤,本文就詳細(xì)的介紹一下解決方法,感興趣的可以了解下
    2023-08-08

最新評論