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

3.4.1

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

使用 Wrapper 自定义SQL时,new QueryWrapper 或者 LambdaQueryWrapper 时传入的参数不能自动变成相应的 where 条件 必须使用wrapper 添加。

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

1 自定义sql 方法: int selectMyCount(@Param(Constants.WRAPPER) Wrapper wrapper); 对应sql: select count(*) from user_info ${ew.customSqlSegment}

2 调用

     UserInfo userInfo = new UserInfo();
    userInfo.setEmail("test@xxx.xxx");
    LambdaQueryWrapper<UserInfo> wrapper = new LambdaQueryWrapper<>(userInfo);
    wrapper.ge(UserInfo::getAge, 20);

    int a = userInfoMapper.selectCount(wrapper);

// 生成sql:SELECT COUNT( * ) FROM user_info WHERE email=? AND (age >= ? )

    int  b = userInfoMapper.selectMyCount(wrapper);

// 生成sql: SELECT COUNT( * ) FROM user_info WHERE (age >= ? )

报错信息

Comment From: miemieYaho

customSqlSegment 不支持wrapper内的entity

Comment From: 157677678

customSqlSegment 不支持wrapper内的entity

那能在文档里写一下么……

Comment From: miemieYaho

补了