解決mybatis?update并非所有字段需要更新問題
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標簽換成<trim prefix="set"></tirm>
標簽中suffixOverrides=","的意思是最后一個去掉逗號
mybatis update時遇到的問題
xml是這么寫的
<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>
之后運行報錯,就是返回的類型不對

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

