mybatis-plus使用updateById(entity) 数据库默认值

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

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力