diff --git a/src/main/java/org/redkale/source/AbstractDataSqlSource.java b/src/main/java/org/redkale/source/AbstractDataSqlSource.java
index e160066b8..7dfedcca3 100644
--- a/src/main/java/org/redkale/source/AbstractDataSqlSource.java
+++ b/src/main/java/org/redkale/source/AbstractDataSqlSource.java
@@ -24,6 +24,7 @@ import org.redkale.persistence.Table;
import org.redkale.service.Local;
import org.redkale.source.EntityInfo.EntityColumn;
import org.redkale.util.*;
+import static org.redkale.util.Utility.isEmpty;
/**
* DataSource的SQL抽象实现类
@@ -2193,7 +2194,7 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource implement
if (sb.length() > 0) {
sb.append(", ");
}
- sb.append(ffc.func.getColumn((col == null || col.isEmpty() ? "*" : info.getSQLColumn("a", col))));
+ sb.append(ffc.func.getColumn((isEmpty(col) ? "*" : info.getSQLColumn("a", col))));
}
}
final String sql = "SELECT " + sb + " FROM " + tables[0] + " a"
@@ -2271,7 +2272,7 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource implement
final Set haset = new HashSet<>();
final CharSequence join = node == null ? null : node.createSQLJoin(this, false, joinTabalis, haset, info);
final CharSequence where = node == null ? null : node.createSQLExpress(this, info, joinTabalis);
- final String sql = "SELECT " + func.getColumn((column == null || column.isEmpty() ? "*" : info.getSQLColumn("a", column))) + " FROM " + tables[0] + " a"
+ final String sql = "SELECT " + func.getColumn((isEmpty(column) ? "*" : info.getSQLColumn("a", column))) + " FROM " + tables[0] + " a"
+ (join == null ? "" : join) + ((where == null || where.length() == 0) ? "" : (" WHERE " + where));
return sql;
}
@@ -3260,7 +3261,7 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource implement
this.prepare = prepare;
this.sql = sql;
this.tables = tables;
- this.blobs = blobs == null || blobs.isEmpty() ? null : blobs;
+ this.blobs = isEmpty(blobs) ? null : blobs;
}
}
diff --git a/src/main/java/org/redkale/source/CacheSource.java b/src/main/java/org/redkale/source/CacheSource.java
index 19d686e0a..9d65fb055 100644
--- a/src/main/java/org/redkale/source/CacheSource.java
+++ b/src/main/java/org/redkale/source/CacheSource.java
@@ -12,7 +12,7 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicLong;
import org.redkale.annotation.Component;
import org.redkale.convert.Convert;
-import org.redkale.util.Resourcable;
+import org.redkale.util.*;
/**
* Redkale中缓存数据源的核心类。 主要供业务开发者使用, 技术开发者提供CacheSource的实现。
@@ -1438,7 +1438,7 @@ public interface CacheSource extends Resourcable {
}
default CompletableFuture srandmemberAsync(String key, Type componentType) {
- return srandmemberAsync(key, componentType, 1).thenApply(list -> list != null && !list.isEmpty() ? (T) list.get(0) : null);
+ return srandmemberAsync(key, componentType, 1).thenApply(list -> Utility.isNotEmpty(list) ? (T) list.get(0) : null);
}
default CompletableFuture srandmemberStringAsync(String key) {
diff --git a/src/main/java/org/redkale/source/DataJdbcSource.java b/src/main/java/org/redkale/source/DataJdbcSource.java
index c8008be7b..39921ae82 100644
--- a/src/main/java/org/redkale/source/DataJdbcSource.java
+++ b/src/main/java/org/redkale/source/DataJdbcSource.java
@@ -2491,7 +2491,7 @@ public class DataJdbcSource extends AbstractDataSqlSource {
*/
@Override
public int nativeUpdate(String sql) {
- return nativeUpdate(new String[]{sql})[0];
+ return nativeUpdates(new String[]{sql})[0];
}
/**
@@ -2503,7 +2503,7 @@ public class DataJdbcSource extends AbstractDataSqlSource {
* @return 结果数组
*/
@Override
- public int[] nativeUpdate(String... sqls) {
+ public int[] nativeUpdates(String... sqls) {
if (sqls.length == 0) {
return new int[0];
}
@@ -2571,6 +2571,16 @@ public class DataJdbcSource extends AbstractDataSqlSource {
}
}
+ @Override
+ public int nativeUpdate(String sql, Map params) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public V nativeQuery(String sql, BiConsumer