<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 100  文章 - 50  trackbacks - 0
    <2016年8月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    我收藏的一些文章!

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    首先,mysql需要數據庫連接配置&allowMultiQueries=true

    jdbc:mysql://127.0.0.1:3306/mybank?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true

    oracle下支持執行多條語句,下面3個相同

    <update id="batchUpdate" parameterType="java.util.List">
            <foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";" > 
                update T_EMP_1 
                <set>       
                    age = #{item.age}+1,name=#{item.name}
                </set>
                where id = #{item.id}
            </foreach>
    </update>

    <update id="batchUpdate" parameterType="java.util.List">
            <foreach collection="list" item="item" index="index" open="begin" close="end;" separator="" > 
                update T_EMP_1 
                <set>       
                    age = #{item.age}+1,name=#{item.name}
                </set>
                where id = #{item.id};
            </foreach>
        </update>

    <update id="batchUpdate" parameterType="java.util.List">
            begin
            <foreach collection="list" item="item" index="index" separator="" > 
                update T_EMP_1 
                <set>       
                    age = #{item.age}+1,name=#{item.name}
                </set>
                where id = #{item.id};
            </foreach>
            end;
        </update>

    foreach的主要用在構建in條件中,它可以在SQL語句中進行迭代一個集合。foreach元素的屬性主要有 item,index,collection,open,separator,close。item表示集合中每一個元素進行迭代時的別名,index指 定一個名字,用于表示在迭代過程中,每次迭代到的位置,open表示該語句以什么開始,separator表示在每次進行迭代之間以什么符號作為分隔 符,close表示以什么結束,在使用foreach的時候最關鍵的也是最容易出錯的就是collection屬性,該屬性是必須指定的,但是在不同情況 下,該屬性的值是不一樣的,主要有一下3種情況: 
    1. 如果傳入的是單參數且參數類型是一個List的時候,collection屬性值為list 
    2. 如果傳入的是單參數且參數類型是一個array數組的時候,collection的屬性值為array 
    3. 如果傳入的參數是多個的時候,我們就需要把它們封裝成一個Map了,當然單參數也可以封裝成map,實際上如果你在傳入參數的時候,在breast里面也是會把它封裝成一個Map的,map的key就是參數名,所以這個時候collection屬性值就是傳入的List或array對象在自己封裝的map里面的key

     批量刪除

    <delete id="batchDeleteStudent" parameterType="List">
    DELETE FROM STUDENT WHERE id IN
    <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
         #{item}
    </foreach>
    </delete>

    批量更新 注意:oracle中 形如 update *** set *** where ** in(....) 這種語句 in所在的集合有條數限制 為1000條

    <update id="batchUpdateStudent" parameterType="List">      
    UPDATE STUDENT SET name = "5566" WHERE id IN
    <foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
    #{item}
    </foreach>
    </update>

    <update id="batchUpdateStudentWithMap" parameterType="Map" > 
    UPDATE STUDENT SET name = #{name} WHERE id IN
    <foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
    #{item}
    </foreach>
    </update>

    批量插入  mysql和oracle不一樣

    mysql:
    <insert id="batchInsertStudent" parameterType="java.util.List">  
        INSERT INTO STUDENT (id,name,sex,tel,address)  
        VALUES   
        <foreach collection="list" item="item" index="index" separator="," >  
            (#{item.id},#{item.name},#{item.sex},#{item.tel},#{item.address})  
        </foreach>  
    </insert>

    oracle:
    <insert id="insertBatch4Oracle" parameterType="List">
            insert into aa(a,b)
            <foreach collection="list" item="item" index="index" separator="union all" >
               select  #{item.a},#{item.b} from dual
            </foreach>
     </insert>
    posted on 2016-08-16 18:46 fly 閱讀(193) 評論(0)  編輯  收藏 所屬分類: 數據庫學習
    主站蜘蛛池模板: 久久久久久噜噜精品免费直播| 亚洲精品白色在线发布| 亚洲中文字幕无码久久| 亚洲免费观看在线视频| 亚洲国产人成在线观看69网站 | 国产乱辈通伦影片在线播放亚洲 | 一区二区三区免费在线观看| 无码专区一va亚洲v专区在线 | 亚洲熟女乱综合一区二区| 污网站在线免费观看| 亚洲电影日韩精品| 在线观看免费为成年视频| 激情五月亚洲色图| 亚洲精品伦理熟女国产一区二区| 成人性生免费视频| 亚洲国产综合AV在线观看| 国产美女精品久久久久久久免费| 美女黄网站人色视频免费| jizzjizz亚洲| 特级做A爰片毛片免费看无码| 久久久久久a亚洲欧洲AV| 亚洲精品在线免费观看| 亚洲精品123区在线观看| 国产又黄又爽又猛的免费视频播放 | 在线观看人成视频免费| 美女露100%胸无遮挡免费观看| 亚洲天堂在线视频| 成全视频高清免费观看电视剧| 亚洲国产精品乱码一区二区| 18禁黄网站禁片免费观看不卡| 一本色道久久88亚洲精品综合| 国产成人无码免费视频97| a免费毛片在线播放| 亚洲精品私拍国产福利在线| 毛片免费视频播放| 无码免费又爽又高潮喷水的视频 | 亚洲黄色在线播放| 国产免费人视频在线观看免费| 男女一边桶一边摸一边脱视频免费 | 亚洲国产中文v高清在线观看| 免费人成毛片动漫在线播放|