解決mybatis?update并非所有字段需要更新問(wèn)題
mybatis update并非所有字段需要更新
mybatis update
需求:更新字段作為參數(shù),未更新字段不傳入
解決辦法
<update id="updateUser" parameterType="com.test.entity.User">
update BS_USER
<trim prefix="set" suffixOverrides=",">
<if test="ACCOUNT != null">ACCOUNT=#{ACCOUNT},</if>
<if test="NAME != null">NAME=#{NAME},</if>
<if test="PROV != null">PROV=#{PROV},</if>
<if test="FAILURE_TIME != null">FAILURE_TIME=#{FAILURE_TIME},</if>
</trim>
where USERID=#{USERID}
</update>
將set標(biāo)簽換成<trim prefix="set"></tirm>
標(biāo)簽中suffixOverrides=","的意思是最后一個(gè)去掉逗號(hào)
mybatis update時(shí)遇到的問(wèn)題
xml是這么寫(xiě)的
<update id="deleteAll" parameterType="java.util.List" >
update cw_base_resident_house_ref a set state = 0
where 1=1 and a.ID in
<foreach item="item" collection="list" separator="," open="(" close=")" index="">
#{item.refId}
</foreach>
</update>
之后運(yùn)行報(bào)錯(cuò),就是返回的類型不對(duì)

原來(lái)是service和mapper里的類型錯(cuò)了,定義的是list,應(yīng)該定義為int。
因?yàn)?update/delete,返回值是:影響的行數(shù);無(wú)需指明resultClass;但如果有約束異常而刪除失敗,只能去捕捉異常。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
BeanUtils.copyProperties()屬性名相同但是類型不同問(wèn)題
這篇文章主要介紹了BeanUtils.copyProperties()屬性名相同但是類型不同問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09
java求兩個(gè)數(shù)中的大數(shù)(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇java求兩個(gè)數(shù)中的大數(shù)(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
JPA框架實(shí)現(xiàn)分頁(yè)查詢和條件查詢功能詳解
這篇文章主要介紹了JPA框架實(shí)現(xiàn)分頁(yè)查詢和條件查詢功能,JPA是Java Persistence API的簡(jiǎn)稱,在過(guò)去很多數(shù)據(jù)庫(kù)的增刪查改操作都是用這個(gè)框架操作的,感興趣想要詳細(xì)了解可以參考下文2023-05-05
MyBatis-Plus速成指南之簡(jiǎn)化你的數(shù)據(jù)庫(kù)操作流程(最新推薦)
MyBatis-Plus?是一個(gè)?MyBatis?的增強(qiáng)工具,在?MyBatis?的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生,這篇文章主要介紹了MyBatis-Plus速成指南:簡(jiǎn)化你的數(shù)據(jù)庫(kù)操作流程,需要的朋友可以參考下2025-02-02
MyBatis動(dòng)態(tài)sql查詢及多參數(shù)查詢方式
這篇文章主要介紹了MyBatis動(dòng)態(tài)sql查詢及多參數(shù)查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
springboot使用RedisRepository操作數(shù)據(jù)的實(shí)現(xiàn)
本文主要介紹了springboot使用RedisRepository操作數(shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
SpringBoot 整合 Netty 多端口監(jiān)聽(tīng)的操作方法
Netty提供異步的、基于事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用程序框架,用以快速開(kāi)發(fā)高性能、高可靠性的網(wǎng)絡(luò) IO 程序,是目前最流行的 NIO 框架,這篇文章主要介紹了SpringBoot 整和 Netty 并監(jiān)聽(tīng)多端口,需要的朋友可以參考下2023-10-10

