当前使用版本v3.5.3
springboot 3..0.2中使用 mybatis-plus-boot-starter v.3.5.3
该问题是如何引起的?
service继承com.baomidou.mybatisplus.extension.service.impl.ServiceImpl超类 方法中执行 super.lambdaQuery().eq(QuestionaireLabelEntity::getName, request.getName()).last(" limit 1 ").one() (当数据库中不存在该数据时报错) 换成 super.lambdaQuery().eq(QuestionaireLabelEntity::getName, request.getName()).last(Constant.LIMIT_ONE).oneOpt().orElse(null) 一样的错误(当数据库中不存在该数据时报错)
重现步骤(如果有就写完整)
报错信息
com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Class must not be null at com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:49) ~[mybatis-plus-core-3.5.3.jar:3.5.3] at com.baomidou.mybatisplus.core.toolkit.Assert.isTrue(Assert.java:38) ~[mybatis-plus-core-3.5.3.jar:3.5.3] at com.baomidou.mybatisplus.core.toolkit.Assert.notNull(Assert.java:72) ~[mybatis-plus-core-3.5.3.jar:3.5.3] at com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils.currentSessionFactory(GlobalConfigUtils.java:53) ~[mybatis-plus-core-3.5.3.jar:3.5.3] at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.sqlSession(SqlHelper.java:86) ~[mybatis-plus-extension-3.5.3.jar:3.5.3] at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.execute(SqlHelper.java:301) ~[mybatis-plus-extension-3.5.3.jar:3.5.3]
Comment From: miemieYaho
3.5.3.1
Comment From: EasyProgramming
我也碰到了同样的错误,看了下代码,LambdaQueryChainWrapper类的这个构造函数,代码如下:
public LambdaQueryChainWrapper(BaseMapper<T> baseMapper, Class<T> entityClass) {
super();
this.baseMapper = baseMapper;
super.wrapperChildren = new LambdaQueryWrapper<>(entityClass);
}
没有给成员变量entityClass赋值导致的 @miemieYaho