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

3.5.1

建议

lambdaUpdate()中,可以提供 set column=column+n的方法

Comment From: miemieYaho

setSql

Comment From: YMingPro

setSql

我知道可以setsql,但是如果如果column很长就很麻烦。其次如果column修改了,所有代码里相关的setsql里的column也得更改,还是用Entity::getColumn的方式稳定点

看了下源码, 或许可以考虑开放com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper#columnsToString(com.baomidou.mybatisplus.core.toolkit.support.SFunction...)的方法为public,可以直接套用

    public <T, R> String selfDecrementSql(SFunction<T, R> column, R amount) {
        final String s = columnToString(column);
        return StrUtil.format("{}={}-{}", s, s, amount);
    }

    public <T, R> String selfIncrementSql(SFunction<T, R> column, R amount) {
        final String s = columnToString(column);
        return StrUtil.format("{}={}+{}", s, s, amount);
    }

或者在@TableField的update字段继续扩展

Comment From: miemieYaho

columnName变成常量再到处引用