当前位置: 首页 > news >正文

用0去修改数据库异常

问题描述:
在更新或者插入语句中用 0 去更新字段,但是发现更新的时候没有更新数据,插入的时候字段值为null。

原因:
如下这条插入语句,sqMoney设置的值为 0 在mybatis框架中会把 0 认定为null,导致条件不成立

<insert id="saveDetail" parameterType="com.ideal.oasystembackproject.entity.WfFormPurchaseDetailEntity">
    insert into wf_form_purchase_detail
    <trim prefix="(" suffix=")" suffixOverrides=",">
        <if test="sqMoney!= null  and sqMoney!= ''">sqMoney,</if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
        <if test="sqMoney!= null  and sqMoney!= ''">#{sqMoney},</if>
    </trim>
</insert>

解决办法:
如下添加一些判断条件即可

<insert id="saveDetail" parameterType="com.ideal.oasystembackproject.entity.WfFormPurchaseDetailEntity">
    insert into wf_form_purchase_detail
    <trim prefix="(" suffix=")" suffixOverrides=",">
        <if test="(sqMoney!= null  and sqMoney!= '') or (sqMoney== 0  and sqMoney== 0.0)">sqMoney,</if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
        <if test="(sqMoney!= null  and sqMoney!= '') or (sqMoney == 0  and sqMoney== 0.0)">#{sqMoney},</if>
    </trim>
</insert>

相关文章:

  • MySQL的安装与建表
  • 3-003:在 MySQL 中建索引时需要注意哪些事项?
  • 力扣第585题
  • harmony OS NEXT-音频录制与播放模块
  • 自动同步多服务器下SQL脚本3.0
  • Redis--List类型
  • C/C++中对字符处理的常用函数
  • AutoGen智能体代码解读
  • [Ai 力扣题单] 数组基本操作篇 27/704/344
  • 4.Kettle调度oracle任务设置邮件预警功能
  • 解决ElementPlus对话框el-dialog中关闭事件重复触发问题
  • Android Retrofit 请求执行模块执行原理深入源码分析(三)
  • 力扣hot100二刷——链表
  • Pac-Man(吃豆人) 游戏
  • Redis 缓存数据库
  • Node.js:快速启动你的第一个Web服务器
  • 考研数学非数竞赛复习之Stolz定理求解数列极限
  • IP 地址
  • 跳表数据结构
  • 大数据学习(63)- Zookeeper详解
  • 短剧迷|《权宠》一出,《名不虚传》
  • 前行中的“模速空间”:要攻克核心技术,也要成为年轻人创业首选地
  • 国务院食安办:加强五一假期食品生产、销售、餐饮服务环节监管
  • 全文丨中华人民共和国民营经济促进法
  • 范宇任上海宝山区副区长
  • 强制性国家标准《危险化学品企业安全生产标准化通用规范》发布