baomidou / mybatis-plus

An powerful enhanced toolkit of MyBatis for simplify development
https://baomidou.com
Apache License 2.0
16.3k stars 4.3k forks source link

LambdaQueryChainWrapper和getOne方法配合使用报错 #5339

Closed xieliangza closed 1 year ago

xieliangza commented 1 year ago

当前使用版本(必填,否则不予处理)

最新版【3.5.2】以及【3.3.2】两个版本

该问题是如何引起的?(确定最新版也有问题再提!!!)

使用LambdaQueryChainWrapper链式条件构造器构造条件,然后传给getOne方法去查询

重现步骤(如果有就写完整)

@Test void testWrapper(){ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(User::getId, 1650769863515734018L); System.out.println(userManagerImpl.getOne(queryWrapper)); LambdaQueryChainWrapper wrapper = userManagerImpl.lambdaQuery().eq(User::getId, 1650769863515734018L); // 报错的地方 System.out.println(userManagerImpl.getOne(wrapper)); }

报错信息

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'ew != null and ew.sqlFirst != null'. Cause: org.apache.ibatis.ognl.OgnlException: sqlFirst [com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: can not use this method for "getSqlFirst"]

miemieYaho commented 1 year ago

lambdaQuery.one

xieliangza commented 1 year ago

大佬,正确的用法(lambdaQuery.one)清楚,那能不能支持链式构造条件然后塞getOne里呢

qmdx commented 1 year ago

大佬,正确的用法(lambdaQuery.one)清楚,那能不能支持链式构造条件然后塞getOne里呢

不支持的

Dongxinyao commented 10 months ago

天,我也遇到了这个问题

trash-fish commented 1 day ago

大佬,正确的用法(lambdaQuery.one)清楚,那能不能支持链式构造条件然后塞getOne里呢

我也纳闷呢咋回事呢,我百度一查说让我改成jdk8,原来是写法不对