1. 程式人生 > >mybatis批量更新的兩種實現方式

mybatis批量更新的兩種實現方式

一:當要更新的內容是不樣的

mapper.xml檔案,後臺傳入一個物件集合,另外如果是mysql資料庫,一點在配置檔案上加上&allowMultiQueries=true,這樣才可以執行多條sql,以下為mysql

<update id="batchUpdate" parameterType="java.util.List"> 
	  <foreach separator=";" index="index" item="item" collection="list" close="" open=""> 
	  update sys_group set level = #{item.level,jdbcType=INTEGER}
	   where group_id = #{item.groupId,jdbcType=INTEGER}
	  </foreach> 
  </update>

如果是oracle資料庫則寫法有不同:

<update id="batchUpdateRepayPlan" parameterType="java.util.List">
     begin   
      <foreach separator=";" index="index" item="item" collection="list" close="" open="">   
      update t_ba_repay_plan 
      <set>
       REPAY_INTEREST = #{item.interest}
      </set>  
       where IOU_CODE = #{item.iouCode}  
      </foreach> 
      ;end; 
</update>  



二:當更新的內容是一樣的

mapper.xml檔案,後臺傳入一個int集合,這是mysql版本

<update id="batchUpdate1" parameterType="java.util.List"> 
	 
	  update sys_group set level = null where level in
	   <foreach separator="," index="index" item="item" collection="list" close=")" open="("> 
	     #{item}
	  </foreach> 
	  
  </update>

orcale版本同上。

相關推薦

mybatis批量更新方式:1.修改值全部一樣 2.修改每條記錄值不一樣

nic mis str link eba encoding type 配置 tails Mybatis批量更新數據 mybatis批量更新兩種方式:1.修改值全部一樣 2.修改每條記錄值不一樣 mybatis批量更新兩種方式:

MyBatis別名的實現方式

MyBatis別名(Alias)## 別名的兩種方式:  一、 <!--          別名的第一種方式,為User類取別名         這種方式比較直觀,把一個type直接用短名字

mybatis批量更新實現方式

一:當要更新的內容是不樣的 mapper.xml檔案,後臺傳入一個物件集合,另外如果是mysql資料庫,一點在配置檔案上加上&allowMultiQueries=true,這樣才可以執行多條sql,以下為mysql <update id="batchUpda

MyBatis中主鍵回填的實現方式

tis 容易 配置 resultset upd object values 兩種 什麽 主鍵回填其實是一個非常常見的需求,特別是在數據添加的過程中,我們經常需要添加完數據之後,需要獲取剛剛添加的數據 id,無論是 Jdbc 還是各種各樣的數據庫框架都對此提供了相關的支持,本

[轉]Web APi之認證(Authentication)實現方式【二】(十三)

用戶數 ted das 客戶 元素 基礎 目標 開始 net 本文轉自:http://www.cnblogs.com/CreateMyself/p/4857799.html 前言 上一節我們詳細講解了認證及其基本信息,這一節我們通過兩種不同方式來實現認證,並且分析如

多線程實現方式的區別

http [] tick 避免 main 單繼承 style 區別 tar 請解釋Thread類與Runnable接口實現多線程的區別?(請解釋多線程兩種實現方式的區別?) 1. Thread類時Runnable接口的子類,使用Runnable接口實現多線程可以避免單繼承局

JPA 派生標識符的實現方式

string column public tid man pri one embed page 方法一:@Entity@IdClass(ModuleId.class)public class Module { @Id private Integer index;

14、Fibonacci的實現方式

等於 cheng pos art log ref clas gpo tar 斐波納契數列,又稱黃金分割數列,指的是這樣一個數列:1、1、2、3、5、8、13、21、……在數學上,斐波納契數列以如下被以遞歸的方法定義:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n&

Web APi之認證(Authentication)實現方式【二】(十三)

基於web 推薦 zed {0} scheme sage https 函數 ges 原文:Web APi之認證(Authentication)兩種實現方式【二】(十三)前言 上一節我們詳細講解了認證及其基本信息,這一節我們通過兩種不同方式來實現認證,並且分析如何合理的利用

spring ----> aop的實現方式

select imp ack exe readv expr gpo for public 實現1:基於xml 1 package com.rr.spring3.interf; //接口 2 3 public interface SayHello { 4 5

Ajax的實現方式

enc () != 部分 pen clas servlet 瀏覽器 pop //ajax的jquery實現 function aclick(){//alert("測

圖形驗證碼的實現方式

ava 輸入 urn color deb rect lac prev 後臺 情形一:圖形驗證碼跟短信驗證碼一起,只需要將後臺提供的動態鏈接填到(id="img")的src中即可生成動態驗證碼。 然後,在需要請求接口的地方,只需把(id="imgCode")中用戶輸入的信息通

前端路由的實現方式

color 前端路由 his 頁面 無刷新 原理 range window 使用 什麽是路由? 路由是根據不同的 url 地址展示不同的內容或頁面 早期的路由都是後端直接根據 url 來 reload 頁面實現的,即後端控制路由。 後來頁面越來越復雜,服務器壓力越來越大,隨

題目24-多線程實現方式

類重寫 直接 解決方案 做的 子類 是否為空 缺點 多線程同步 弊端 1、多線程兩種實現方式 (1)繼承Thread 定義類繼承Thread 重寫run方法 把新線程要做的事寫在run方法中 創建線程對象 開啟新線程, 內部會自動執行run方法(2)實現Runnable

線程的實現方式

class args new pub nds runnable implement ide start 線程的兩種實現方式 (1)繼承Thread類`` /** * 繼承Thread類 * */ public class PayThread extends T

iOS活動倒計時的實現方式

ofo orm ren 年-月 ats omd string 分享 截圖 代碼地址如下:<br>http://www.demodashi.com/demo/11076.html 在做些活動界面或者限時驗證碼時, 經常會使用一些倒計時突出展現. 現提供兩種方

Brute-Force模式匹配演算法實現方式

1. public static int indexOf(String mainStr,String subString,int start) { if((mainStr.length()<subString.length()) || mainStr==null || subStr

單例的實現方式、多個版本及利弊對照

        單例設計模式,顧明思議,只有一個例項,先交代重要一點,為防止外界對該類進行例項化,需要把類的建構函式宣告為私有的,這樣大家對原理理解更深入些。 1、餓漢式 餓漢模式單例程式碼,經典,可用,無需改進。 package com.sing

Java base64加密解密 實現方式

1、為什麼要使用Base 64     Base 64主要用途不是加密,而是把一些二進位制數轉成普通字元,方便在網路上傳輸。 由於一些二進位制字元在傳輸協議中屬於 控制字元,不能直接傳送,所以需要轉換一下才可以。由於某些系統中只能使用ASCII字元,Base64

【Android】打電話的實現方式

第一種實現方式:直接給聯絡人打電話 Intent intent=new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:110")); startActivity(intent);