找人做彩票网站多少钱,茶叶网站flash模板,网站流量统计怎么做,网上企业推广使用mybatis-plus的updateById方法更新一个numeric(1)类型字段#xff0c;sql成功执行#xff0c;但是updates为0#xff0c;更新失败的解决办法#xff1a; 背景#xff1a;我有一张表#xff0c;有个启用禁用功能#xff0c;没有放在编辑页面一起编辑保存#xff0c;…使用mybatis-plus的updateById方法更新一个numeric(1)类型字段sql成功执行但是updates为0更新失败的解决办法 背景我有一张表有个启用禁用功能没有放在编辑页面一起编辑保存而是在列表中使用layui的开关组件点击开关修改状态结果一直提示更新失败 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列表中的开关获取当前行第一列的文本与开关的值传到后台更新
form.on(switch(isAvailable), function(data) {// 得到开关的value值实际是需要修改的ID值。var itemCode data.othis.parents(tr).find(td).eq(1).text().trim(); //获取idvar 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,});});