解决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;但如果有约束异常而删除失败,只能去捕捉异常。

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

相关文章

  • BeanUtils.copyProperties()属性名相同但是类型不同问题

    BeanUtils.copyProperties()属性名相同但是类型不同问题

    这篇文章主要介绍了BeanUtils.copyProperties()属性名相同但是类型不同问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • 详解maven BUILD FAILURE的解决办法

    详解maven BUILD FAILURE的解决办法

    这篇文章主要介绍了详解maven BUILD FAILURE的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • java求两个数中的大数(实例讲解)

    java求两个数中的大数(实例讲解)

    下面小编就为大家带来一篇java求两个数中的大数(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • JPA框架实现分页查询和条件查询功能详解

    JPA框架实现分页查询和条件查询功能详解

    这篇文章主要介绍了JPA框架实现分页查询和条件查询功能,JPA是Java Persistence API的简称,在过去很多数据库的增删查改操作都是用这个框架操作的,感兴趣想要详细了解可以参考下文
    2023-05-05
  • MyBatis-Plus速成指南之简化你的数据库操作流程(最新推荐)

    MyBatis-Plus速成指南之简化你的数据库操作流程(最新推荐)

    MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生,这篇文章主要介绍了MyBatis-Plus速成指南:简化你的数据库操作流程,需要的朋友可以参考下
    2025-02-02
  • MyBatis动态sql查询及多参数查询方式

    MyBatis动态sql查询及多参数查询方式

    这篇文章主要介绍了MyBatis动态sql查询及多参数查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • java之项目运维手册

    java之项目运维手册

    这篇文章主要介绍了java之项目运维手册,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • springboot使用RedisRepository操作数据的实现

    springboot使用RedisRepository操作数据的实现

    本文主要介绍了springboot使用RedisRepository操作数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • SpringBoot 整合 Netty 多端口监听的操作方法

    SpringBoot 整合 Netty 多端口监听的操作方法

    Netty提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序,是目前最流行的 NIO 框架,这篇文章主要介绍了SpringBoot 整和 Netty 并监听多端口,需要的朋友可以参考下
    2023-10-10
  • Java实现黄金分割法的示例代码

    Java实现黄金分割法的示例代码

    黄金分割法是一种区间收缩方法。所谓区间收缩方法,指的是将含有最优解的区间逐步缩小,直至区间长度为零的方法。本文将用Java实现这一算法,需要的可以参考一下
    2022-03-03

最新评论