大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 MyBatis批量的詳細(xì)操作

MyBatis批量的詳細(xì)操作

更新時(shí)間:2021-07-06 16:30:03 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1067次

在項(xiàng)目中遇到了需要批量操作數(shù)據(jù)表的情況,小編遇到的是更新操作。但在mybatis中批量操作有多種,因此在此對(duì)mybatis中的批量操作以及其注意點(diǎn)進(jìn)行總結(jié)。

1.批量插入操作

批量插入,傳入的是一個(gè)List對(duì)象的集合,因此在mapper文件中需要用循環(huán)的方式進(jìn)行操作,具體格式如下:

<insert id="insertBatch" parameterType="java.utils.List">
       insert into tablename (xxx,xxx,xxx)
       values
        /*collection的屬性值為接口中對(duì)應(yīng)的參數(shù)名稱
          (#{item.xxx},#{item.xxx},#{item.xxx}
           通過(guò)屬性的方式取得對(duì)應(yīng)的值,注意小括號(hào)的使用
        */
       <foreach collection="listxxx" item="item" separator=",">
           (#{item.xxx},#{item.xxx},#{item.xxx})
       </foreach>
 </insert>

mapper文件對(duì)應(yīng)的接口形式如下:

public void insertBatch(@Param("listxxx") List<xxx> listxxx);

2.批量更新操作

批量更新操作,筆者總結(jié)了下面兩種方式:

(1)使用循環(huán)update形式【這種方式需要特別注意,需要在數(shù)據(jù)庫(kù)連接字符串中增加allowMultiQueries=true,不然會(huì)報(bào)異常】

<update id="batchUpdate" parameterType="java.util.List">

        <foreach collection="list" index="index" item="item" separator=";">
            update t_demo_user set
            <if test="item.userName!=null">
               user_name=#{item.userName},
            </if>
            <if test="item.gender!=null">
                gender=#{item.gender}
            </if>
             where user_id=#{item.userId}
        </foreach>
 </update>

(2)使用 case 形式

<update id="batchUpdate" parameterType="java.util.List">
        UPDATE  t_demo_user
        <trim prefix="set" suffixOverrides=",">
            <trim prefix="user_name= case" suffix="end,">
                <foreach collection="list" item="item" index="index">
                    <if test="item.userName !=null">
                        when user_id=#{item.userId} then #{item.userName}
                    </if>
                </foreach>
            </trim>
            <trim prefix="gender= case" suffix="end,">
                <foreach collection="list" item="item" index="index">
                    <if test="item.gender !=null">
                        when user_id=#{item.userId} then #{item.gender}
                    </if>
                </foreach>
            </trim>
        </trim>
        where user_id in
        <foreach collection="list" item="item" index="index" separator="," open="(" close=")">
            #{item.userId}
        </foreach>
</update>

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"MyBatis批量的詳細(xì)操作",希望對(duì)大家有幫助,想了解更多可查看Mybatis基礎(chǔ)教程,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久99精品久久久久子伦小说 | 久久久中文字幕日本 | 国产uv1区二区三区 国产va | 神马影院888不卡院 神马影院不卡不卡在线观看 | 亚洲精品日韩中文字幕久久久 | 91精选视频| 狠狠综合久久久久综合 | 看一级毛片一区二区三区免费 | 色涩在线观看 | 夜夜摸天天操 | 国产羞羞羞视频在线观看 | 伊人色综合一区二区三区 | 欧美日日射 | 亚洲一区小说区中文字幕 | 欧美顶级xxxxbbbb | 欧美一级欧美三级在线观看 | 国产亚洲精品美女久久久久 | 神马影院我不卡在线观看 | 久久社区视频 | 在线亚洲 欧美 日本专区 | 国产福利91 | 久热精品男人的天堂在线视频 | 奇米影视四色中文字幕 | 免费国产午夜高清在线视频 | 欧美不卡一区 | 亚洲va天堂va欧美ⅴa | 神马影院午夜剧场 | 成年女人毛片免费播放视频m | 久久99热在线观看7 久久99热这里只有精品 | 天天插天天干天天操 | 亚洲午夜一级毛片 | 一区二区三区不卡免费视频97 | 色偷偷尼玛图亚洲综合 | 无遮挡又黄又爽又色1000部 | 亚洲精品乱码久久久久久 | 精品少妇一区二区三区视频 | 91亚洲精品 | 色老久久精品偷偷鲁一区 | 久操综合在线 | 日本一级特级毛片视频 | 成人黄色一级毛片 |