@@ -0,0 +1,5 @@
+- 修复启用乐观锁下updateById时自动填充不生效的问题
+- 修复自动填充接口的default方法(`setFieldValByName`和`getFieldValByName`)某些情况下会发生异常的问题
+- `BaseMapper`部分入参为`Wrapper`的select方法支持`wrapper.first`来设置RDS的hint
+- `Wrapper`子类新增`func`方法,主要为了支持在`if else`情况下使用`Wrapper`的不同method不会导致断链(链式调用不能一链到底)
+- 新增支持hbase的选装件`Upsert`
@@ -312,8 +312,10 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
}
@Override
- public Children func(Consumer<Children> consumer) {
- consumer.accept(typedThis);
+ public Children func(boolean condition, Consumer<Children> consumer) {
+ if (condition) {
+ consumer.accept(typedThis);
+ }
return typedThis;
@@ -294,11 +294,19 @@ public interface Func<Children, R> extends Serializable {
*/
Children having(boolean condition, String sqlHaving, Object... params);
+ /**
+ * ignore
+ */
+ default Children func(Consumer<Children> consumer) {
+ return func(true, consumer);
+
/**
* 消费函数
*
* @param consumer 消费函数
* @return children
+ * @since 3.3.1
- Children func(Consumer<Children> consumer);
+ Children func(boolean condition, Consumer<Children> consumer);
@@ -107,6 +107,7 @@ public interface Join<Children> extends Serializable {
* @param condition 执行条件
* @param firstSql 起始语句
Children first(boolean condition, String firstSql);
@@ -212,8 +212,8 @@ public abstract class AbstractChainWrapper<T, R, Children extends AbstractChainW
- getWrapper().func(consumer);
+ getWrapper().func(condition, consumer);