|
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.AbstractWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.SharedString;
|
|
|
import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
@@ -467,6 +468,60 @@ public class Where<T> extends AbstractWrapper<T, String, Where<T>> {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * isEmpty
|
|
|
+ */
|
|
|
+ public <K, V> Where<T> isEmpty(SFunction<K, V> function) {
|
|
|
+ String sqlFieldName = sql.getSqlFieldName(function);
|
|
|
+ return and(q -> isNull(sqlFieldName).or().eq(true, sqlFieldName, StringPool.EMPTY));
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> Where<T> isEmpty(String alias, SFunction<K, V> function) {
|
|
|
+ String sqlFieldName = sql.getSqlFieldName(alias, function);
|
|
|
+ return and(q -> isNull(sqlFieldName).or().eq(true, sqlFieldName, StringPool.EMPTY));
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> Where<T> isEmpty(boolean condition, SFunction<K, V> function) {
|
|
|
+ if (!condition) {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+ return isEmpty(function);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> Where<T> isEmpty(boolean condition, String alias, SFunction<K, V> function) {
|
|
|
+ if (!condition) {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+ return isEmpty(alias, function);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * isNotEmpty
|
|
|
+ */
|
|
|
+ public <K, V> Where<T> isNotEmpty(SFunction<K, V> function) {
|
|
|
+ String sqlFieldName = sql.getSqlFieldName(function);
|
|
|
+ return and(q -> isNotNull(sqlFieldName).ne(true, sqlFieldName, StringPool.EMPTY));
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> Where<T> isNotEmpty(String alias, SFunction<K, V> function) {
|
|
|
+ String sqlFieldName = sql.getSqlFieldName(alias, function);
|
|
|
+ return and(q -> isNotNull(sqlFieldName).ne(true, sqlFieldName, StringPool.EMPTY));
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> Where<T> isNotEmpty(boolean condition, SFunction<K, V> function) {
|
|
|
+ if (!condition) {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+ return isNotEmpty(function);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> Where<T> isNotEmpty(boolean condition, String alias, SFunction<K, V> function) {
|
|
|
+ if (!condition) {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+ return isNotEmpty(alias, function);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* findInSet
|
|
|
*/
|
|
|
public <K, V> Where<T> findInSet(SFunction<K, V> function, Object value) {
|