日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

mybatis update更新字段的使用操作

瀏覽:28日期:2023-10-20 11:05:15

多個mapper方法,更新單字段

說實(shí)話不太推薦,因?yàn)槿绻?0個字段要更新,難道寫10個方法。

但是實(shí)際中很多人都這么寫。

通用mapper方法,java代碼控制字段

特點(diǎn)是一個mapper方法包含所有字段,不為空的就update。

但是需要控制入?yún)ⅲ话阌?中方式:

new 一個對象然后set id和要改的字段

如果字段多比較費(fèi)勁,需要一個一個set。

查詢出對象,然后set要改的字段

這2種方式差不多,就是代碼看起來不一樣。

特別注意,定位字段不要加if

要更新的字段加if沒有什么問題

但是定位條件不要加if,因?yàn)槿f一忘記傳遞了,變成沒有where條件,那么條數(shù)不可控了。搞不好把全表更新了,可就萬劫不復(fù)了。

補(bǔ)充:mybatis執(zhí)行批量更新update

目前想批量更新,如果update的值是相同的話,很簡單,

update table set column=’...’ where id in (1,2,3)l

這樣的sql就可以了。Mybatis中這樣寫就行

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

但是這樣的需求很少,一般是有個集合,每個元素中的值是不一樣的,然后需要一次性更新。一般的處理方式是使用for循環(huán)。這樣的效率較低,當(dāng)數(shù)據(jù)量大時,期望有種一次性插入的操作。如果使用的是mysql,有

insert into table (aa,bb,cc) values(xx,xx,xx),(oo,oo,oo) on duplicate key update

replace into table (aa,bb,cc) values(xxx,xxx,xxx),(ooo,ooo,ooo),(ccc,ccc,ccc)

兩種方式可以處理。

當(dāng)前數(shù)據(jù)庫是oracle,可以使用case when來拼成一長串sql處理

UPDATE mytable SET myfield = CASE id WHEN 1 THEN ’value’ WHEN 2 THEN ’value’ WHEN 3 THEN ’value’ ENDWHERE id IN (1,2,3)

實(shí)際上這種方式對于mysql也有效。

最開始的時候,想著寫一系列并列的更新語句就可以了

<update parameterType='java.util.List'><foreach collection='list' item='item' index='index' separator=';' open='' close=''> update REGION_CODE set CODE=#{item.Code,jdbcType=VARCHAR}, NAME=#{item.Name,jdbcType=VARCHAR} where ID = #{item.id,jdbcType=DECIMAL}</foreach></update>

這樣直接報(bào)錯,因?yàn)镸ybatis映射文件中的sql語句不允許 ; 符號。

兩種方法:

第一種:需要在db鏈接url后面帶一個參數(shù) &allowMultiQueries=true

即:

jdbc:mysql://localhost:3306/mysqlTest?characterEncoding=utf-8&allowMultiQueries=true

第二種:按照可行的case when處理方式,Mybatis映射文件書寫方式如下:

<update parameterType='java.util.List'> update REGION_CODE set CODE= <foreach collection='list' item='item' index='index' separator=' ' open='case ID' close='end'> when #{item.id,jdbcType=DECIMAL} then #{item.Code,jdbcType=VARCHAR} </foreach> ,NAME= <foreach collection='list' item='item' index='index' separator=' ' open='case ID' close='end'> when #{item.id,jdbcType=DECIMAL} then #{item.Name,jdbcType=VARCHAR} </foreach> where ID in <foreach collection='list' index='index' item='item' separator=',' open='(' close=')'> #{item.id,jdbcType=DECIMAL} </foreach></update>

至此,批量更新功能完成。

項(xiàng)目中實(shí)際使用案例:

<update parameterType='java.util.List'> update user_credit_black_list set type= <foreach collection='list' item='item' index='index' separator=' ' open='case ID' close='end'> when #{item.id,jdbcType=BIGINT} then #{item.type,jdbcType=VARCHAR} </foreach> ,user_id= <foreach collection='list' item='item' index='index' separator=' ' open='case ID' close='end'> when #{item.id,jdbcType=BIGINT} then #{item.userId,jdbcType=BIGINT} </foreach> ,update_time= <foreach collection='list' item='item' index='index' separator=' ' open='case ID' close='end'> when #{item.id,jdbcType=BIGINT} then #{item.updateTime,jdbcType=TIMESTAMP} </foreach> ,delete_flg= <foreach collection='list' item='item' index='index' separator=' ' open='case ID' close='end'> when #{item.id,jdbcType=BIGINT} then #{item.deleteFlg,jdbcType=BIT} </foreach> ,update_code= <foreach collection='list' item='item' index='index' separator=' ' open='case ID' close='end'> when #{item.id,jdbcType=BIGINT} then #{item.updateCode,jdbcType=BIGINT} </foreach> where ID in <foreach collection='list' index='index' item='item' separator=',' open='(' close=')'> #{item.id,jdbcType=BIGINT} </foreach> </update>

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品青草| 天堂av在线| 中文字幕日韩高清在线| 国产综合精品| 久热精品在线| 日韩欧美中文字幕在线视频| 亚洲黄页一区| 亚洲精品乱码日韩| 91福利精品在线观看| 国产精品一区二区免费福利视频| 欧美国产精品| 成人日韩在线| 婷婷丁香综合| 亚洲欧美在线综合| 国产精品日本一区二区不卡视频 | 国产探花一区在线观看| 国产精品麻豆成人av电影艾秋 | 久久久久九九精品影院| 成人在线视频区| 亚洲高清二区| 日韩一区中文| 国产成人精品福利| 亚洲一级黄色| 五月激激激综合网色播| 国产精品久久久久久av公交车| 韩日一区二区| 亚洲精品97| 日本免费在线视频不卡一不卡二| 久久精品资源| 激情欧美一区二区三区| av一区二区高清| 日本va欧美va精品发布| 欧美成a人片免费观看久久五月天| 日韩电影二区| 亚洲天堂免费| 国产中文字幕一区二区三区| 欧美日韩国产高清| 欧美日韩夜夜| 日韩国产一区二区| 免费视频最近日韩| 精品一区视频| 在线一区视频| 欧美国产中文高清| 亚洲激情国产| 国产精品亚洲成在人线| a天堂资源在线| 奶水喷射视频一区| 国产精品久久久久久久久久妞妞| 久久美女精品| 国产欧美自拍一区| 亚洲第一区色| 国产精品九九| 亚洲资源av| 黄色网一区二区| 亚洲视频二区| 欧美日韩尤物久久| 91精品国产自产精品男人的天堂| 在线观看精品| 国产香蕉精品| 在线综合亚洲| 涩涩av在线| 欧美日韩国产一区二区在线观看| 欧洲亚洲一区二区三区| 欧美日韩一区自拍| 五月精品视频| 久久国产人妖系列| 亚洲一区免费| 日韩欧美少妇| 久久精品网址| 日韩在线观看一区二区三区| 欧美日韩一二三四| 久久精品国产久精国产爱| 亚洲一区二区三区高清不卡| 国产一区二区三区视频在线| 日本va欧美va瓶| 欧美日韩国产一区二区三区不卡 | 亚洲综合小说| 亚洲国产专区校园欧美| 久久香蕉网站| 日韩高清不卡在线| 国产亚洲精品久久久久婷婷瑜伽| 激情视频网站在线播放色| 97se亚洲| 亚洲狼人精品一区二区三区| 欧美日韩激情| 久久精品亚洲人成影院| 精品国产亚洲日本| 国产亚洲一区二区三区啪| 亚洲一区av| 亚洲精品99| 日韩av一级| 免费观看亚洲| 四虎国产精品免费观看| 国产欧美日韩在线观看视频| 亚洲精品麻豆| 亚洲欧美日韩精品一区二区 | 日本亚洲三级在线| 亚洲色诱最新| 亚洲大全视频| 91看片一区| 中文在线а√天堂| 国产一区二区三区视频在线| 国产精品xxxav免费视频| 亚洲精品欧洲| 深夜福利一区| 亚洲精品三级| 色狠狠一区二区三区| 亚洲久久一区| 偷拍亚洲精品| 日韩欧美久久| 97se亚洲| 国产精品一区二区精品视频观看| 91亚洲精品在看在线观看高清| 中文不卡在线| 六月丁香综合| 视频精品一区二区| 亚洲一二av| 奇米777国产一区国产二区| 日本久久一区| 欧美日韩xxxx| 国产精品美女午夜爽爽| 国产精品嫩草影院在线看| 国产精品亚洲人成在99www| 久久99影视| 97精品97| 99成人在线视频| 黄色日韩精品| 伊人久久大香伊蕉在人线观看热v| 亚洲精选91| 日韩av资源网| 国产午夜一区| 国内精品亚洲| 色天使综合视频| 国产精品av久久久久久麻豆网| 好吊日精品视频| 亚洲精品极品| 久久爱www.| 日韩精品免费一区二区三区| av成人国产| 亚洲开心激情| 麻豆中文一区二区| 色老板在线视频一区二区| 欧美日韩国产免费观看视频| 美女国产一区| 日本不卡视频在线观看| 欧美激情视频一区二区三区免费| 国产+成+人+亚洲欧洲在线| 久久国产日韩| 亚洲欧洲国产精品一区| 麻豆国产欧美日韩综合精品二区| 日韩中文影院| 中文字幕一区二区三区日韩精品 | 国产精品2区| 国产一区二区三区黄网站| 久久精品官网| 蜜臀国产一区二区三区在线播放| 日韩有码av| 国内精品伊人| 日韩亚洲国产欧美| 日本麻豆一区二区三区视频| 国产成人免费| 欧美在线综合| 久久伊人久久| 国产精品毛片在线| 国产精品mm| 蜜桃国内精品久久久久软件9| 一本综合精品| 久久精品一区| 红桃视频国产一区| 国产美女视频一区二区| 色婷婷久久久| 91精品丝袜国产高跟在线| 日韩中文首页| 日本不卡一二三区黄网| 欧美好骚综合网| 久久成人亚洲| 精品久久精品| 免费精品视频在线| 色爱综合网欧美| 一区二区91| 日韩精品诱惑一区?区三区| 一区二区国产在线观看| 精品国产亚洲日本| 免费视频久久| 中文在线а√天堂| 青草久久视频| 午夜久久久久| 精品久久福利| 免费看日韩精品| 久久久一本精品| 欧美一区激情| 国产精品美女久久久| 97人人精品| 久久精品72免费观看| 午夜精品一区二区三区国产| 国产精品99久久免费观看| 亚洲自啪免费| 欧美不卡高清一区二区三区| 久久狠狠久久| 蜜臀久久久久久久|