mybatis-plus icon indicating copy to clipboard operation
mybatis-plus copied to clipboard

为什么不加个 同表两列判断的方法呢,感觉可以有

Open awn-coder opened this issue 10 months ago • 2 comments

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

3.5.6

例如:

public CustomQueryWrapper<T> eq(SFunction<T, ?> column1, SFunction<T, ?> column2) {
        return this.maybeDo(true, () -> {
            this.appendSqlSegments(this.columnToSqlSegment(column1), SqlKeyword.EQ, this.columnToSqlSegment(column2));
        });
    }

awn-coder avatar Apr 11 '24 09:04 awn-coder

其实针对这类的问题,我也尝试改成 CustomQueryWrapper 这种形式。 https://github.com/baomidou/mybatis-plus/blob/b72273a9db569e607279a4f14288bafd51fbb6da/mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/conditions/query/LambdaQueryChainWrapper.java#L35 但是由于这个继承的限制,导致LambdaQueryWrapper里所有链式方法的返回值都是typedThis https://github.com/baomidou/mybatis-plus/blob/b72273a9db569e607279a4f14288bafd51fbb6da/mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/conditions/AbstractChainWrapper.java#L46 设想,如果这个 typedThis 可以更灵活一点,那么完全可以在 https://github.com/baomidou/mybatis-plus/blob/b72273a9db569e607279a4f14288bafd51fbb6da/mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/service/IService.java#L605 这里继承一下,返回自定义的CustomQueryWrapper,这样mp只需要提供常用的方法即可,剩下的部分可以自由扩展。 但是苦于技术太菜,所以一直没想到什么方式,不知道mp团队有没有这方面的想法? @nieqiurong

refeccd avatar May 14 '24 11:05 refeccd

I think using queryWrapper.apply("column1 = column2") already solves this problem quite well 😄.

freesme avatar May 29 '24 09:05 freesme