该方法仅能传入 lambda 表达式产生的合成类

0 阅读1分钟

说明:使用Mybatis-plus查询记录时,出现下面的错误;

org.apache.ibatis.builder.BuilderException: Error evaluating expression 'ew.sqlSegment != null and ew.sqlSegment != '' and ew.nonEmptyOfWhere'. Cause: org.apache.ibatis.ognl.OgnlException: sqlSegment [com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: 该方法仅能传入 lambda 表达式产生的合成类]

在这里插入图片描述

解决1:这个问题可能与返回的==实体类是否实现序列化接口有关(Serializable)==

在这里插入图片描述

解决2:另外,可能与执行此方法的Service相关,==Service接口实现类里面的泛型,ServiceImpl类继承的泛型,应该是操作的数据库表对应的实体类==;

(Service接口)

public interface IUserInfoService extends IService<实体类> {

(Service实现类)

public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, 实体类> implements IUserInfoService {

解决3:我的问题是==实体类与查询的数据库表字段对不上==,但是我不想改动实体类字段,就不能使用MyBatis-plus封装的方法,只能去Mapper.xml写查询SQL;

首次发布

hezhongying.blog.csdn.net/article/det…