解决mybatis update并非所有字段需要更新问题

 更新时间:2021年11月26日 11:41:37   作者:cn_TongTong  
这篇文章主要介绍了解决mybatis update并非所有字段需要更新问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mybatis update并非所有字段需要更新

mybatis update

需求:更新字段作为参数,未更新字段不传入

解决办法

<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,返回值是:影响的行数;无需指明resultClass;但如果有约束异常而删除失败,只能去捕捉异常。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mybatis-plus 查询传入参数Map,返回List<Map>方式

    mybatis-plus 查询传入参数Map,返回List<Map>方式

    这篇文章主要介绍了mybatis-plus 查询传入参数Map,返回List<Map>方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java连接mongoDB并进行增删改查操作实例详解

    java连接mongoDB并进行增删改查操作实例详解

    这篇文章主要介绍了java连接mongoDB并进行增删改查操作,结合实例形式详细分析了java环境下MongoDB扩展包的下载、安装及操作MongoDB连接、增删改查等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • 关于Struts2文件上传与自定义拦截器

    关于Struts2文件上传与自定义拦截器

    本篇文章,小编将为大家介绍关于Struts2文件上传与自定义拦截器,有需要的朋友可以参考一下
    2013-04-04
  • Java实现注册登录跳转

    Java实现注册登录跳转

    这篇文章主要为大家详细介绍了Java实现注册登录跳转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 使用Java校验SQL语句的合法性五种解决方案

    使用Java校验SQL语句的合法性五种解决方案

    这篇文章主要介绍了如何用java校验SQL语句的合法性(提供五种解决方案),使用JDBC API和JSqlParser库、正则表达式、ANTLR解析器生成器或Apache Calcite库都可以实现校验SQL语句的合法性,需要的朋友可以参考下
    2023-04-04
  • Java中BigDecimal类的add()的使用详解

    Java中BigDecimal类的add()的使用详解

    这篇文章主要介绍了Java中BigDecimal类的add()的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • springboot jpa 实现返回结果自定义查询

    springboot jpa 实现返回结果自定义查询

    这篇文章主要介绍了springboot jpa 实现返回结果自定义查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • springcloud Zuul动态路由的实现

    springcloud Zuul动态路由的实现

    这篇文章主要介绍了springcloud Zuul动态路由的实现,详细的介绍了什么是Zuu及其动态路由的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Java通过索引值实现约瑟夫环算法

    Java通过索引值实现约瑟夫环算法

    这篇文章主要介绍了Java通过索引值实现约瑟夫环,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Java Timer使用讲解

    Java Timer使用讲解

    Timer是一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,这篇文章主要介绍了Java Timer使用讲解,需要的朋友可以参考下
    2022-11-11

最新评论