使用mybatis-plus的updateById方法更新一个numeric(1)类型字段,sql成功执行,但是updates为0,更新失败的解决办法

使用mybatis-plus的updateById方法更新一个numeric(1)类型字段,sql成功执行,但是updates为0,更新失败的解决办法:

背景:我有一张表,有个启用禁用功能,没有放在编辑页面一起编辑保存,而是在列表中使用layui的开关组件,点击开关修改状态,结果一直提示更新失败

XML 复制代码
==>  Preparing: UPDATE supplies_master SET is_available=? WHERE item_code=?
==> Parameters: 0(Integer),  910070800 (String)
<==    Updates: 0

SQL打印结果如上,sql是能正常运行的,但实际就是更新失败,且只是因为这一个字段导致更新失败,同样的方法在编辑页面(多字段更改)保存就啥问题都没有

最后测试发现增删查都没有问题,多字段同样的调用mybatis-plus的updateById也是没问题的(连controller接口都是调用同一个)

网上查到mybatis把0当成false因此不会更新,但是我把值改成1-9等等也都是无法更新成功

把字段numeric(1)类型更改成String类型问题依旧无法解决

最后把该字段改名,改类型,实体属性名,实体属性类型统统改了个遍还是无效,最终才发现原来问题出在参数有个空格,我的天,搞了半天是数据的问题

然后在插入之前trim()就好了 ,而之所以在编辑页面就没事,是因为我从数据库读了一次详情放到编辑页面输入框了,不知道是thymeleaf还是layui的原因帮我把空格去掉了,因此没有报错

这个字段产生空格的原因就是我在js中使用了jquery的.text()方法,导致获取的文本尾部有个空格

我的实例(layui列表中的开关获取当前行第一列的文本与开关的值传到后台更新):

javascript 复制代码
form.on('switch(isAvailable)', function(data) {
            // 得到开关的value值,实际是需要修改的ID值。
            var itemCode = data.othis.parents('tr').find("td").eq(1).text().trim(); //获取id
            var isAvailable = this.checked ?  1 :  0;
            $.ajax({
                type: 'get',
                url: '/updateSuppliesItem',
                data: {
                    "itemCode": itemCode,
                    "isAvailable": isAvailable
                },
                success: function(data) {
                    if (data.code == 0) {
                        layer.msg('更新成功', {icon: 1});
                    } else {
                        layer.msg(data.msg, {icon: 5});
                    }
                },
                dataType: 'JSON',
            });
		});
相关推荐
John_Hui26 分钟前
MySQL 进阶知识
数据库·sql·mysql·1024程序员节
Mr-Wanter1 小时前
Spring Boot 接口签名实践
java·spring boot
denlaku1 小时前
JDK 22 新特性详解
java·开发语言
余槐i1 小时前
开虚拟线程后接口反而更慢:JDK 21 synchronized 锁住载体线程的排查
java·spring boot·redis·mysql·性能优化
Sirens.2 小时前
网络通信基础:IP、端口、协议分层与数据封装
java·网络·网络协议·tcp/ip·java-ee·1024程序员节
CRMEB系统商城2 小时前
服装连锁的导购分销与企微私域
java·大数据·开发语言·人工智能·小程序·php·1024程序员节
若亦_2 小时前
Java泛型入门:类型安全与上界约束
java·1024程序员节
编程的一拳超人2 小时前
【元宝搜索开发者征文大赛】四语实战:Java/Python/Go/Node.js 构建 AI 搜索应用全攻略
java·python·golang·node.js·agent
wuminyu2 小时前
JVM规范学习总结-Java源码经过javac编译后产物
java·linux·c语言·jvm·c++
ly76892 小时前
Spring Security 过滤器链定制:认证、CORS 与 CSRF 的先后顺序
java·spring boot·spring·spring security·csrf·cors·过滤器链