原本使用save时是没有问题了,改成saveOrUpdate用了一下就报错了。 com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: error: can not execute. because can not find column for id from entity! 就是这个mybatisPlus不能找到哪个是主键字段,因为这个saveOrUpdate默认是根据主键执行操作的! 所有需要...
saveOrUpdate 是否有映射id 我们知道mybatis在插入时,会映射id,但是如果是saveOrUpdate会怎么样呢? 比如我saveOrUpdate()后,需要用他的id,但是我传进去的对象是没有id的。 @Test voidsaveOrUpdate(){ UserTextuserText=newUserText(); userText.setUserSex(Sex.MAN); booleanb=userTextService.saveOrUpdate(u...
com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: error: can not execute. because can not find column for id from entity! 就是这个mybatisPlus不能找到哪个是主键字段,因为这个saveOrUpdate默认是根据主键执行操作的! 所有需要在原本的实体类的主键头上,打个...
原本使用save时是没有问题了,改成saveOrUpdate用了一下就报错了。 com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: error: can not execute. because can not find column for id from entity! 就是这个mybatisPlus不能找到哪个是主键字段,因为这个saveOrUpdate默认是根据主键执行操作的! 所有需要...
原本使用save时是没有问题了,改成saveOrUpdate用了一下就报错了。 com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: error: can not execute. because can not find column for id from entity! 就是这个mybatisPlus不能找到哪个是主键字段,因为这个saveOrUpdate默认是根据主键执行操作的!
public void saveOrUpdateDevice (@RequestBodyDeviceInfo deviceInfo){deviceInfoService.saveInOrUpdate(deviceInfo); } 使用时,出现只更新的情况 1、检查实体类主键 主键是否使用注解 @TableId 2、传递的参数中主键id 为空时。判断为新增,携带id则指定更新...
2 mybatis-plus基础serivce的savebatch和saveOrUpdateBatch 先来看坑比较多的saveOrUpdateBatch,从方法名表面来看是想根据查询结果来更新或者插入数据的,结果你传的list的对象里面如果有主键为空的对象的时候会报错,详见源码截图: 因此如果你还是要区分 是否有ID的数据,如果ID为NULL的话需要用savebatch。但是savebatch...
解决方案: 不要以为saveOrUpdate一定会走主库,该方法内部会调用查询操作(默认是走从库的) 要保证结果正确,需要在saveForCashPre方法中强制开启走主库 标签:Mybatis Plus saveOrUpdate(T entity)采坑问题
save()是在接口中定义的default方法,saveOrUpdate()是在实现类中实现的带事务注解@Transactional的方法。 原因及解决方法 因为源码中saveOrUpdate使用了事务,故在Mapper切面设置数据源无效。 对MyBatis-plus的服务包进行切面,代码如下: @Component@Order(value = 0)@Slf4j@AspectpublicclassDataSourceAspectOnService{@...
2 mybatis-plus基础serivce的savebatch和saveOrUpdateBatch 先来看坑比较多的saveOrUpdateBatch,从方法名表面来看是想根据查询结果来更新或者插入数据的,结果你传的list的对象里面如果有主键为空的对象的时候会报错,详见源码截图: 因此如果你还是要区分 是否有ID的数据,如果ID为NULL的话需要用savebatch。但是savebatch...