当前使用版本(必填,否则不予处理)
V 3.5.3
该问题是如何引起的?(确定最新版也有问题再提!!!)
this.lambdaQuery() 调用one() 查询时,没有数据时候会报错,没有细看,发现新版本增加了execute
default
重现步骤(如果有就写完整)
User one = userService.lambdaQuery().eq(User::getAge, 100).one(); 没有数据的话就会报下面的错
报错信息
com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Class must not be null at com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:49) at com.baomidou.mybatisplus.core.toolkit.Assert.isTrue(Assert.java:38) at com.baomidou.mybatisplus.core.toolkit.Assert.notNull(Assert.java:72) at com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils.currentSessionFactory(GlobalConfigUtils.java:53) at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.sqlSession(SqlHelper.java:86) at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.execute(SqlHelper.java:301) at com.baomidou.mybatisplus.extension.conditions.ChainWrapper.lambda$execute$0(ChainWrapper.java:63) at java.util.Optional.orElseGet(Optional.java:267) at com.baomidou.mybatisplus.extension.conditions.ChainWrapper.execute(ChainWrapper.java:63) at com.baomidou.mybatisplus.extension.conditions.query.ChainQuery.one(ChainQuery.java:48)
Comment From: miemieYaho
用最新版
Comment From: mastcer
最新版就是3.5.3版本,还是一样报错 return Optional.ofNullable(getBaseMapper()).map(function).orElseGet(() -> SqlHelper.execute(getEntityClass(), function)); 这里逻辑应该是有问题的,根据代码注释是为了「执行baseMapper操作,有baseMapper操作时使用baseMapper,没有时通过entityClass获取baseMapper,再使用」,但是当前面查不到数据时,也会执行orElseGet
Comment From: miemieYaho
最新版就是3.5.3版本,还是一样报错 return Optional.ofNullable(getBaseMapper()).map(function).orElseGet(() -> SqlHelper.execute(getEntityClass(), function)); 这里逻辑应该是有问题的,根据代码注释是为了「执行baseMapper操作,有baseMapper操作时使用baseMapper,没有时通过entityClass获取baseMapper,再使用」,但是当前面查不到数据时,也会执行orElseGet