当前使用版本(必填,否则不予处理)
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 <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变成常量再到处引用