2021-01-12 乐帮网
mybatis java
在学习使用Java 开发程序,中间用到了mybatis-plus,如果我想要更新数据库中某个字段的值,那么先把实体查询出来再赋值该字段然后再调用updateById(entity)去更新,问题是如果当数据库设置了字段默认值时,那么这个值便会受影响更新到数据库中去,假设有字段age ,类型为int 默认值为0,例如:
QueryWrapper<EntityA> query = new QueryWrapper<>();
query .eq("id",whereEntity);
EntityA a = getone(query)
//在这里我只想修改名字
a.setname("小李");
baseMapper.updateById(a);
上面执行后字段age会变成0;
为了避免上面的问题我修改了一下代码如下:
QueryWrapper<EntityA> query = new QueryWrapper<>();
query .eq("id",whereEntity);
EntityA a = getone(query)
//在这里我只想修改名字
a.setname("小李");
a.setage(a.getage)
baseMapper.updateById(a);
感觉略有拙笨,你还有更好的方法吗?欢迎到公众号留言。
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力