oneOpt() {
+ return Optional.ofNullable(one());
+ }
+
+ /**
+ * 查询单个 VO。
+ *
+ * @return VO
+ */
+ public V voOne() {
+ return baseMapper.selectVoOne(typedThis);
+ }
+
+ /**
+ * 查询单个 VO。
+ *
+ * @param throwEx 查询到多条时是否抛异常
+ * @return VO
+ */
+ public V voOne(boolean throwEx) {
+ return baseMapper.selectVoOne(typedThis, throwEx);
+ }
+
+ /**
+ * 查询数量。
+ *
+ * @return 数量
+ */
+ public Long count() {
+ return baseMapper.selectCount(typedThis);
+ }
+
+ /**
+ * 判断是否存在。
+ *
+ * @return 是否存在
+ */
+ public boolean exists() {
+ return baseMapper.exists(typedThis);
+ }
+
+ /**
+ * 查询实体分页。
+ *
+ * @param page 分页条件
+ * @param 分页类型
+ * @return 实体分页
+ */
+ public
> P page(P page) {
+ return baseMapper.selectPage(page, typedThis);
+ }
+
+ /**
+ * 查询 VO 分页。
+ *
+ * @param page 分页条件
+ * @param
分页类型
+ * @return VO 分页
+ */
+ public
> P voPage(IPage page) {
+ return baseMapper.selectVoPage(page, typedThis);
+ }
+
+ /**
+ * 删除数据。
+ *
+ * @return 是否删除成功
+ */
+ public boolean delete() {
+ return deleteCount() > 0;
+ }
+
+ /**
+ * 删除数据。
+ *
+ * @return 影响行数
+ */
+ public int deleteCount() {
+ return baseMapper.delete(typedThis);
+ }
+
+ /**
+ * 使用 set 片段更新数据。
+ *
+ * @return 是否更新成功
+ */
+ public boolean update() {
+ return updateCount() > 0;
+ }
+
+ /**
+ * 使用实体和查询条件更新数据。
+ *
+ * @param entity 实体
+ * @return 是否更新成功
+ */
+ public boolean update(T entity) {
+ return updateCount(entity) > 0;
+ }
+
+ /**
+ * 使用 set 片段更新数据。
+ *
+ * @return 影响行数
+ */
+ public int updateCount() {
+ return baseMapper.update(typedThis);
+ }
+
+ /**
+ * 使用实体和查询条件更新数据。
+ *
+ * @param entity 实体
+ * @return 影响行数
+ */
+ public int updateCount(T entity) {
+ return baseMapper.update(entity, typedThis);
+ }
+
+ @Override
+ protected LambdaCrudChainWrapper instance() {
+ return new LambdaCrudChainWrapper<>(baseMapper, getEntity(), getEntityClass(), null, null, paramNameSeq,
+ paramNameValuePairs, new MergeSegments(), paramAlias, SharedString.emptyString(), SharedString.emptyString(),
+ SharedString.emptyString());
+ }
+
+ @Override
+ public void clear() {
+ super.clear();
+ sqlSelect.toNull();
+ sqlSet.clear();
+ }
+
+}
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaQueryBuilder.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaQueryBuilder.java
new file mode 100644
index 000000000..2de14879f
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaQueryBuilder.java
@@ -0,0 +1,422 @@
+package org.dromara.common.mybatis.core.query;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.function.BiPredicate;
+import java.util.function.Consumer;
+
+/**
+ * LambdaQueryWrapper 条件构造辅助类。
+ *
+ * @param 实体类型
+ * @author Lion Li
+ */
+public final class LambdaQueryBuilder implements LambdaQueryCondition> {
+
+ private final LambdaQueryWrapper wrapper;
+
+ LambdaQueryBuilder(LambdaQueryWrapper wrapper) {
+ this.wrapper = wrapper;
+ }
+
+ @SafeVarargs
+ public final LambdaQueryBuilder select(SFunction... columns) {
+ wrapper.select(columns);
+ return this;
+ }
+
+ public LambdaQueryBuilder eq(SFunction column, Object value) {
+ wrapper.eq(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder eq(boolean condition, SFunction column, Object value) {
+ wrapper.eq(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder ne(SFunction column, Object value) {
+ wrapper.ne(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder ne(boolean condition, SFunction column, Object value) {
+ wrapper.ne(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder gt(SFunction column, Object value) {
+ wrapper.gt(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder gt(boolean condition, SFunction column, Object value) {
+ wrapper.gt(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder ge(SFunction column, Object value) {
+ wrapper.ge(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder ge(boolean condition, SFunction column, Object value) {
+ wrapper.ge(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder lt(SFunction column, Object value) {
+ wrapper.lt(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder lt(boolean condition, SFunction column, Object value) {
+ wrapper.lt(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder le(SFunction column, Object value) {
+ wrapper.le(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder le(boolean condition, SFunction column, Object value) {
+ wrapper.le(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder like(SFunction column, Object value) {
+ wrapper.like(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder like(boolean condition, SFunction column, Object value) {
+ wrapper.like(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder notLike(SFunction column, Object value) {
+ wrapper.notLike(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder notLike(boolean condition, SFunction column, Object value) {
+ wrapper.notLike(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder likeLeft(SFunction column, Object value) {
+ wrapper.likeLeft(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder likeLeft(boolean condition, SFunction column, Object value) {
+ wrapper.likeLeft(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder likeRight(SFunction column, Object value) {
+ wrapper.likeRight(column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder likeRight(boolean condition, SFunction column, Object value) {
+ wrapper.likeRight(condition, column, value);
+ return this;
+ }
+
+ public LambdaQueryBuilder between(SFunction column, Object begin, Object end) {
+ wrapper.between(column, begin, end);
+ return this;
+ }
+
+ public LambdaQueryBuilder between(boolean condition, SFunction column, Object begin, Object end) {
+ wrapper.between(condition, column, begin, end);
+ return this;
+ }
+
+ public LambdaQueryBuilder notBetween(SFunction column, Object begin, Object end) {
+ wrapper.notBetween(column, begin, end);
+ return this;
+ }
+
+ public LambdaQueryBuilder notBetween(boolean condition, SFunction column, Object begin, Object end) {
+ wrapper.notBetween(condition, column, begin, end);
+ return this;
+ }
+
+ public LambdaQueryBuilder allEq(Map, ?> params, boolean null2IsNull) {
+ wrapper.allEq(true, (Map) params, null2IsNull);
+ return this;
+ }
+
+ public LambdaQueryBuilder allEq(boolean condition, Map, ?> params, boolean null2IsNull) {
+ wrapper.allEq(condition, (Map) params, null2IsNull);
+ return this;
+ }
+
+ public LambdaQueryBuilder allEq(BiPredicate, Object> filter, Map, ?> params, boolean null2IsNull) {
+ wrapper.allEq(true, (BiPredicate) filter, (Map) params, null2IsNull);
+ return this;
+ }
+
+ public LambdaQueryBuilder allEq(boolean condition, BiPredicate, Object> filter, Map, ?> params, boolean null2IsNull) {
+ wrapper.allEq(condition, (BiPredicate) filter, (Map) params, null2IsNull);
+ return this;
+ }
+
+ public LambdaQueryBuilder isNull(SFunction column) {
+ wrapper.isNull(column);
+ return this;
+ }
+
+ public LambdaQueryBuilder isNull(boolean condition, SFunction column) {
+ wrapper.isNull(condition, column);
+ return this;
+ }
+
+ public LambdaQueryBuilder isNotNull(SFunction column) {
+ wrapper.isNotNull(column);
+ return this;
+ }
+
+ public LambdaQueryBuilder isNotNull(boolean condition, SFunction column) {
+ wrapper.isNotNull(condition, column);
+ return this;
+ }
+
+ public LambdaQueryBuilder in(SFunction column, Collection> values) {
+ wrapper.in(column, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder in(boolean condition, SFunction column, Collection> values) {
+ wrapper.in(condition, column, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder in(SFunction column, Object... values) {
+ wrapper.in(column, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder in(boolean condition, SFunction column, Object... values) {
+ wrapper.in(condition, column, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder notIn(SFunction column, Collection> values) {
+ wrapper.notIn(column, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder notIn(boolean condition, SFunction column, Collection> values) {
+ wrapper.notIn(condition, column, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder notIn(SFunction column, Object... values) {
+ wrapper.notIn(column, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder notIn(boolean condition, SFunction column, Object... values) {
+ wrapper.notIn(condition, column, values);
+ return this;
+ }
+
+ @SafeVarargs
+ public final LambdaQueryBuilder groupBy(SFunction... columns) {
+ wrapper.groupBy(Arrays.asList(columns));
+ return this;
+ }
+
+ @SafeVarargs
+ public final LambdaQueryBuilder groupBy(boolean condition, SFunction... columns) {
+ wrapper.groupBy(condition, Arrays.asList(columns));
+ return this;
+ }
+
+ public LambdaQueryBuilder orderBy(boolean condition, boolean isAsc, SFunction column) {
+ wrapper.orderBy(condition, isAsc, column);
+ return this;
+ }
+
+ @SafeVarargs
+ public final LambdaQueryBuilder orderByAsc(SFunction... columns) {
+ wrapper.orderByAsc(Arrays.asList(columns));
+ return this;
+ }
+
+ @SafeVarargs
+ public final LambdaQueryBuilder orderByAsc(boolean condition, SFunction... columns) {
+ wrapper.orderByAsc(condition, Arrays.asList(columns));
+ return this;
+ }
+
+ @SafeVarargs
+ public final LambdaQueryBuilder orderByDesc(SFunction... columns) {
+ wrapper.orderByDesc(Arrays.asList(columns));
+ return this;
+ }
+
+ @SafeVarargs
+ public final LambdaQueryBuilder orderByDesc(boolean condition, SFunction... columns) {
+ wrapper.orderByDesc(condition, Arrays.asList(columns));
+ return this;
+ }
+
+ public LambdaQueryBuilder having(String sqlHaving, Object... params) {
+ wrapper.having(sqlHaving, params);
+ return this;
+ }
+
+ public LambdaQueryBuilder having(boolean condition, String sqlHaving, Object... params) {
+ wrapper.having(condition, sqlHaving, params);
+ return this;
+ }
+
+ public LambdaQueryBuilder and(Consumer> consumer) {
+ wrapper.and(consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder and(boolean condition, Consumer> consumer) {
+ wrapper.and(condition, consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder or() {
+ wrapper.or();
+ return this;
+ }
+
+ public LambdaQueryBuilder or(Consumer> consumer) {
+ wrapper.or(consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder or(boolean condition, Consumer> consumer) {
+ wrapper.or(condition, consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder nested(Consumer> consumer) {
+ wrapper.nested(consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder nested(boolean condition, Consumer> consumer) {
+ wrapper.nested(condition, consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder exists(String existsSql, Object... values) {
+ wrapper.exists(existsSql, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder exists(boolean condition, String existsSql, Object... values) {
+ wrapper.exists(condition, existsSql, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder eqSql(SFunction column, String inValue) {
+ wrapper.eqSql(true, column, inValue);
+ return this;
+ }
+
+ public LambdaQueryBuilder eqSql(boolean condition, SFunction column, String inValue) {
+ wrapper.eqSql(condition, column, inValue);
+ return this;
+ }
+
+ public LambdaQueryBuilder inSql(SFunction column, String inValue) {
+ wrapper.inSql(true, column, inValue);
+ return this;
+ }
+
+ public LambdaQueryBuilder inSql(boolean condition, SFunction column, String inValue) {
+ wrapper.inSql(condition, column, inValue);
+ return this;
+ }
+
+ public LambdaQueryBuilder notInSql(SFunction column, String inValue) {
+ wrapper.notInSql(true, column, inValue);
+ return this;
+ }
+
+ public LambdaQueryBuilder notInSql(boolean condition, SFunction column, String inValue) {
+ wrapper.notInSql(condition, column, inValue);
+ return this;
+ }
+
+ public LambdaQueryBuilder notExists(String existsSql, Object... values) {
+ wrapper.notExists(existsSql, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder notExists(boolean condition, String existsSql, Object... values) {
+ wrapper.notExists(condition, existsSql, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder apply(String applySql, Object... values) {
+ wrapper.apply(applySql, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder apply(boolean condition, String applySql, Object... values) {
+ wrapper.apply(condition, applySql, values);
+ return this;
+ }
+
+ public LambdaQueryBuilder apply(Consumer> consumer) {
+ consumer.accept(wrapper);
+ return this;
+ }
+
+ public LambdaQueryBuilder func(Consumer> consumer) {
+ wrapper.func(true, consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder func(boolean condition, Consumer> consumer) {
+ wrapper.func(condition, consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder not(Consumer> consumer) {
+ wrapper.not(true, consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder not(boolean condition, Consumer> consumer) {
+ wrapper.not(condition, consumer);
+ return this;
+ }
+
+ public LambdaQueryBuilder comment(String comment) {
+ wrapper.comment(true, comment);
+ return this;
+ }
+
+ public LambdaQueryBuilder comment(boolean condition, String comment) {
+ wrapper.comment(condition, comment);
+ return this;
+ }
+
+ public LambdaQueryBuilder last(String lastSql) {
+ wrapper.last(lastSql);
+ return this;
+ }
+
+ public LambdaQueryWrapper build() {
+ return wrapper;
+ }
+
+}
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaQueryCondition.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaQueryCondition.java
new file mode 100644
index 000000000..459465e91
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaQueryCondition.java
@@ -0,0 +1,146 @@
+package org.dromara.common.mybatis.core.query;
+
+import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.helper.DataBaseHelper;
+
+import java.util.Collection;
+import java.util.Map;
+
+/**
+ * Lambda 查询常用条件扩展。
+ *
+ * @param 实体类型
+ * @param 链式返回类型
+ * @author Lion Li
+ */
+public interface LambdaQueryCondition {
+
+ Children eq(boolean condition, SFunction column, Object value);
+
+ Children ne(boolean condition, SFunction column, Object value);
+
+ Children gt(boolean condition, SFunction column, Object value);
+
+ Children ge(boolean condition, SFunction column, Object value);
+
+ Children lt(boolean condition, SFunction column, Object value);
+
+ Children le(boolean condition, SFunction column, Object value);
+
+ Children like(boolean condition, SFunction column, Object value);
+
+ Children notLike(boolean condition, SFunction column, Object value);
+
+ Children likeLeft(boolean condition, SFunction column, Object value);
+
+ Children likeRight(boolean condition, SFunction column, Object value);
+
+ Children between(boolean condition, SFunction column, Object begin, Object end);
+
+ Children notBetween(boolean condition, SFunction column, Object begin, Object end);
+
+ Children in(boolean condition, SFunction column, Collection> values);
+
+ Children in(boolean condition, SFunction column, Object... values);
+
+ Children notIn(boolean condition, SFunction column, Collection> values);
+
+ Children notIn(boolean condition, SFunction column, Object... values);
+
+ Children apply(boolean condition, String applySql, Object... values);
+
+ default Children eqIfPresent(SFunction column, Object value) {
+ return eq(value != null, column, value);
+ }
+
+ default Children eqIfText(SFunction column, String value) {
+ return eq(StringUtils.isNotBlank(value), column, value);
+ }
+
+ default Children neIfPresent(SFunction column, Object value) {
+ return ne(value != null, column, value);
+ }
+
+ default Children neIfText(SFunction column, String value) {
+ return ne(StringUtils.isNotBlank(value), column, value);
+ }
+
+ default Children gtIfPresent(SFunction column, Object value) {
+ return gt(value != null, column, value);
+ }
+
+ default Children geIfPresent(SFunction column, Object value) {
+ return ge(value != null, column, value);
+ }
+
+ default Children ltIfPresent(SFunction column, Object value) {
+ return lt(value != null, column, value);
+ }
+
+ default Children leIfPresent(SFunction column, Object value) {
+ return le(value != null, column, value);
+ }
+
+ default Children likeIfText(SFunction column, String value) {
+ return like(StringUtils.isNotBlank(value), column, value);
+ }
+
+ default Children notLikeIfText(SFunction column, String value) {
+ return notLike(StringUtils.isNotBlank(value), column, value);
+ }
+
+ default Children likeLeftIfText(SFunction column, String value) {
+ return likeLeft(StringUtils.isNotBlank(value), column, value);
+ }
+
+ default Children likeRightIfText(SFunction column, String value) {
+ return likeRight(StringUtils.isNotBlank(value), column, value);
+ }
+
+ default Children betweenIfPresent(SFunction column, Object begin, Object end) {
+ return between(begin != null && end != null, column, begin, end);
+ }
+
+ default Children betweenParams(SFunction column, Map params, String beginKey, String endKey) {
+ if (params == null) {
+ return between(false, column, null, null);
+ }
+ Object begin = params.get(beginKey);
+ Object end = params.get(endKey);
+ return between(begin != null && end != null, column, begin, end);
+ }
+
+ default Children notBetweenIfPresent(SFunction column, Object begin, Object end) {
+ return notBetween(begin != null && end != null, column, begin, end);
+ }
+
+ default Children inIfNotEmpty(SFunction column, Collection> values) {
+ return in(values != null && !values.isEmpty(), column, values);
+ }
+
+ default Children inIfNotEmpty(SFunction column, Object... values) {
+ return in(values != null && values.length > 0, column, values);
+ }
+
+ default Children notInIfNotEmpty(SFunction column, Collection> values) {
+ return notIn(values != null && !values.isEmpty(), column, values);
+ }
+
+ default Children notInIfNotEmpty(SFunction column, Object... values) {
+ return notIn(values != null && values.length > 0, column, values);
+ }
+
+ default Children findInSet(Object value, String column) {
+ return findInSet(true, value, column);
+ }
+
+ default Children findInSet(boolean condition, Object value, String column) {
+ return apply(condition, DataBaseHelper.findInSet(value, column));
+ }
+
+ default Children findInSetIfPresent(Object value, String column) {
+ return findInSet(value != null, value, column);
+ }
+
+}
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/QueryBuilder.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/QueryBuilder.java
new file mode 100644
index 000000000..30b710d80
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/QueryBuilder.java
@@ -0,0 +1,19 @@
+package org.dromara.common.mybatis.core.query;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
+/**
+ * MyBatis-Plus 查询构造器入口。
+ *
+ * @author Lion Li
+ */
+public final class QueryBuilder {
+
+ private QueryBuilder() {
+ }
+
+ public static LambdaQueryBuilder lambda(Class entityClass) {
+ return new LambdaQueryBuilder<>(Wrappers.lambdaQuery(entityClass));
+ }
+
+}
diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestBatchController.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestBatchController.java
index af8c77b3a..403eab494 100644
--- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestBatchController.java
+++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestBatchController.java
@@ -1,11 +1,10 @@
package org.dromara.demo.controller;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.web.core.BaseController;
import org.dromara.demo.domain.TestDemo;
import org.dromara.demo.mapper.TestDemoMapper;
-import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -83,8 +82,9 @@ public class TestBatchController extends BaseController {
@DeleteMapping()
// @DS("slave")
public R remove() {
- return toAjax(testDemoMapper.delete(new LambdaQueryWrapper()
- .eq(TestDemo::getOrderNum, -1L)));
+ return toAjax(testDemoMapper.lambda()
+ .eq(TestDemo::getOrderNum, -1L)
+ .deleteCount());
}
}
diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/org/dromara/gen/service/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-gen/src/main/java/org/dromara/gen/service/GenTableServiceImpl.java
index 4c0595004..ad1c5022c 100644
--- a/ruoyi-modules/ruoyi-gen/src/main/java/org/dromara/gen/service/GenTableServiceImpl.java
+++ b/ruoyi-modules/ruoyi-gen/src/main/java/org/dromara/gen/service/GenTableServiceImpl.java
@@ -8,7 +8,6 @@ import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -66,9 +65,10 @@ public class GenTableServiceImpl implements IGenTableService {
*/
@Override
public List