This is an automated email from the ASF dual-hosted git repository.

chengjie pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/dev by this push:
     new f512b6b9d [Improve] mybatis-plus query improvements (#4167)
f512b6b9d is described below

commit f512b6b9d0cf3ce3653920b153c9153e15640eca
Author: benjobs <[email protected]>
AuthorDate: Sat Jan 18 22:18:13 2025 +0800

    [Improve] mybatis-plus query improvements (#4167)
    
    * [Improve] mybatis-plus query impovements
    
    * [Improve] mybatis-plus query improvement
    
    * [Improve] mybatis-plus query improvements
    
    * [Improve] add mybatis-plus PaginationInterceptor
    
    * [Improve] add mybatis-plus PaginationInterceptor.java
    
    * [Improve] trigger ci
    
    * [Bug] spark application mapping state bug fixed.
    
    * [Bug] yarnQueue check exists bug fixed.
    
    * [Improve] check project-name exists improvement
    
    * [Improve] project e2e bug fixed.
---
 .../src/main/assembly/script/data/mysql-data.sql   |   2 +-
 .../src/main/assembly/script/data/pgsql-data.sql   |   2 +-
 .../console/base/config/MybatisConfig.java         |   4 +-
 .../mybatis/interceptor/PaginationInterceptor.java | 491 +++++++++++++++++++++
 .../core/mapper/FlinkApplicationConfigMapper.java  |   6 -
 .../core/mapper/FlinkApplicationMapper.java        |   8 -
 .../console/core/mapper/FlinkCatalogMapper.java    |   9 -
 .../console/core/mapper/FlinkClusterMapper.java    |  10 -
 .../console/core/mapper/FlinkEnvMapper.java        |   4 -
 .../console/core/mapper/ProjectMapper.java         |  11 -
 .../console/core/mapper/ResourceMapper.java        |   2 -
 .../core/mapper/SparkApplicationConfigMapper.java  |   6 -
 .../core/mapper/SparkApplicationMapper.java        |  13 -
 .../console/core/mapper/VariableMapper.java        |   5 -
 .../console/core/mapper/YarnQueueMapper.java       |   8 -
 .../console/core/service/ProjectService.java       |   4 +
 .../impl/FlinkApplicationConfigServiceImpl.java    |  12 +-
 .../impl/FlinkApplicationInfoServiceImpl.java      |  16 +-
 .../impl/FlinkApplicationManageServiceImpl.java    |  16 +-
 .../impl/SparkApplicationConfigServiceImpl.java    |  12 +-
 .../impl/SparkApplicationManageServiceImpl.java    |  13 +-
 .../core/service/impl/FlinkCatalogServiceImpl.java |  17 +-
 .../core/service/impl/FlinkClusterServiceImpl.java |  13 +-
 .../core/service/impl/FlinkEnvServiceImpl.java     |   9 +-
 .../core/service/impl/FlinkSqlServiceImpl.java     |   4 +-
 .../core/service/impl/ProjectServiceImpl.java      |  53 ++-
 .../core/service/impl/ResourceServiceImpl.java     |   3 +-
 .../core/service/impl/SparkSqlServiceImpl.java     |   4 +-
 .../core/service/impl/VariableServiceImpl.java     |   9 +-
 .../core/service/impl/YarnQueueServiceImpl.java    |  11 +-
 .../console/system/mapper/MemberMapper.java        |  16 -
 .../console/system/mapper/RoleMapper.java          |   6 -
 .../console/system/mapper/TeamMapper.java          |   6 -
 .../console/system/mapper/UserMapper.java          |   4 -
 .../system/service/impl/MemberServiceImpl.java     |   4 +-
 .../system/service/impl/RoleServiceImpl.java       |   4 +-
 .../system/service/impl/TeamServiceImpl.java       |   6 +-
 .../system/service/impl/UserServiceImpl.java       |   9 +-
 .../src/main/resources/db/data-h2.sql              |   2 +-
 .../mapper/core/FlinkApplicationConfigMapper.xml   |  11 -
 .../mapper/core/FlinkApplicationMapper.xml         |  36 --
 .../resources/mapper/core/FlinkCatalogMapper.xml   |  29 --
 .../resources/mapper/core/FlinkClusterMapper.xml   |  43 --
 .../main/resources/mapper/core/FlinkEnvMapper.xml  |  14 -
 .../main/resources/mapper/core/ProjectMapper.xml   |  60 ---
 .../main/resources/mapper/core/ResourceMapper.xml  |  11 -
 .../mapper/core/SparkApplicationConfigMapper.xml   |  11 -
 .../mapper/core/SparkApplicationMapper.xml         |  22 -
 .../main/resources/mapper/core/VariableMapper.xml  |  26 --
 .../main/resources/mapper/core/YarnQueueMapper.xml |  39 --
 .../main/resources/mapper/system/MemberMapper.xml  |  12 -
 .../main/resources/mapper/system/RoleMapper.xml    |  20 -
 .../main/resources/mapper/system/TeamMapper.xml    |  20 -
 .../main/resources/mapper/system/UserMapper.xml    |  12 -
 .../streampark-console-webapp/package.json         |   4 +-
 55 files changed, 659 insertions(+), 545 deletions(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/assembly/script/data/mysql-data.sql
 
b/streampark-console/streampark-console-service/src/main/assembly/script/data/mysql-data.sql
index ecf0edd86..1d94ec494 100644
--- 
a/streampark-console/streampark-console-service/src/main/assembly/script/data/mysql-data.sql
+++ 
b/streampark-console/streampark-console-service/src/main/assembly/script/data/mysql-data.sql
@@ -48,7 +48,7 @@ insert into `t_flink_effective` values (100000, 100000, 2, 
100000, now());
 -- ----------------------------
 -- Records of t_flink_project
 -- ----------------------------
-insert into `t_flink_project` values (100000, 100000, 'streampark-quickstart', 
'https://github.com/apache/incubator-streampark-quickstart', 'release-2.0.0', 
null, null, null, null, null, null, 1, 1, null, 'streampark-quickstart', -1, 
now(), now());
+insert into `t_flink_project` values (100000, 100000, 'streampark-quickstart', 
'https://github.com/apache/streampark-quickstart', 'release-2.0.0', null, null, 
null, null, null, null, 1, 1, null, 'streampark-quickstart', -1, now(), now());
 
 -- ----------------------------
 -- Records of t_flink_sql
diff --git 
a/streampark-console/streampark-console-service/src/main/assembly/script/data/pgsql-data.sql
 
b/streampark-console/streampark-console-service/src/main/assembly/script/data/pgsql-data.sql
index 813d1a789..46686f66b 100644
--- 
a/streampark-console/streampark-console-service/src/main/assembly/script/data/pgsql-data.sql
+++ 
b/streampark-console/streampark-console-service/src/main/assembly/script/data/pgsql-data.sql
@@ -39,7 +39,7 @@ insert into "public"."t_flink_effective" values (100000, 
100000, 2, 100000, now(
 -- ----------------------------
 -- Records of t_flink_project
 -- ----------------------------
-insert into "public"."t_flink_project" values (100000, 100000, 
'streampark-quickstart', 
'https://github.com/apache/incubator-streampark-quickstart', 'release-2.0.0', 
null, null, null, null, null, null, 1, 1, null, 'streampark-quickstart', -1, 
now(), now());
+insert into "public"."t_flink_project" values (100000, 100000, 
'streampark-quickstart', 'https://github.com/apache/streampark-quickstart', 
'release-2.0.0', null, null, null, null, null, null, 1, 1, null, 
'streampark-quickstart', -1, now(), now());
 
 -- ----------------------------
 -- Records of t_flink_sql
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/config/MybatisConfig.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/config/MybatisConfig.java
index 82165f34b..0036ea098 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/config/MybatisConfig.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/config/MybatisConfig.java
@@ -17,6 +17,7 @@
 
 package org.apache.streampark.console.base.config;
 
+import 
org.apache.streampark.console.base.mybatis.interceptor.PaginationInterceptor;
 import 
org.apache.streampark.console.base.mybatis.interceptor.PostgreSQLPrepareInterceptor;
 import 
org.apache.streampark.console.base.mybatis.interceptor.PostgreSQLQueryInterceptor;
 
@@ -30,7 +31,6 @@ import com.baomidou.mybatisplus.core.MybatisConfiguration;
 import com.baomidou.mybatisplus.core.config.GlobalConfig;
 import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import 
com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Bean;
@@ -46,7 +46,7 @@ public class MybatisConfig {
     @Bean
     public MybatisPlusInterceptor mybatisPlusInterceptor() {
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
+        interceptor.addInnerInterceptor(new PaginationInterceptor());
         return interceptor;
     }
 
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/mybatis/interceptor/PaginationInterceptor.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/mybatis/interceptor/PaginationInterceptor.java
new file mode 100644
index 000000000..1101f32de
--- /dev/null
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/mybatis/interceptor/PaginationInterceptor.java
@@ -0,0 +1,491 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.streampark.console.base.mybatis.interceptor;
+
+import org.apache.ibatis.cache.CacheKey;
+import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.logging.Log;
+import org.apache.ibatis.logging.LogFactory;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.ParameterMapping;
+import org.apache.ibatis.mapping.ResultMap;
+import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.core.toolkit.ClassUtils;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.core.toolkit.ParameterUtils;
+import com.baomidou.mybatisplus.core.toolkit.PluginUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.DialectFactory;
+import com.baomidou.mybatisplus.extension.plugins.pagination.DialectModel;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.IDialect;
+import com.baomidou.mybatisplus.extension.toolkit.JdbcUtils;
+import com.baomidou.mybatisplus.extension.toolkit.PropertyMapper;
+import com.baomidou.mybatisplus.extension.toolkit.SqlParserUtils;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import net.sf.jsqlparser.expression.Alias;
+import net.sf.jsqlparser.expression.Expression;
+import net.sf.jsqlparser.parser.CCJSqlParserUtil;
+import net.sf.jsqlparser.schema.Column;
+import net.sf.jsqlparser.schema.Table;
+import net.sf.jsqlparser.statement.select.Distinct;
+import net.sf.jsqlparser.statement.select.FromItem;
+import net.sf.jsqlparser.statement.select.GroupByElement;
+import net.sf.jsqlparser.statement.select.Join;
+import net.sf.jsqlparser.statement.select.OrderByElement;
+import net.sf.jsqlparser.statement.select.PlainSelect;
+import net.sf.jsqlparser.statement.select.Select;
+import net.sf.jsqlparser.statement.select.SelectBody;
+import net.sf.jsqlparser.statement.select.SelectExpressionItem;
+import net.sf.jsqlparser.statement.select.SelectItem;
+import net.sf.jsqlparser.statement.select.SetOperationList;
+import net.sf.jsqlparser.statement.select.SubSelect;
+import net.sf.jsqlparser.statement.select.WithItem;
+
+import java.sql.SQLException;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
+
+@Data
+@NoArgsConstructor
+public class PaginationInterceptor implements InnerInterceptor {
+
+    /**
+     * 获取jsqlparser中count的SelectItem
+     */
+    protected static final List<SelectItem> COUNT_SELECT_ITEM = 
Collections.singletonList(
+        new SelectExpressionItem(new 
Column().withColumnName("COUNT(1)")).withAlias(new Alias("total")));
+    protected static final Map<String, MappedStatement> countMsCache = new 
ConcurrentHashMap<>();
+    protected final Log logger = LogFactory.getLog(this.getClass());
+
+    /**
+     * 溢出总页数后是否进行处理
+     */
+    protected boolean overflow;
+    /**
+     * 单页分页条数限制
+     */
+    protected Long maxLimit;
+    /**
+     * 数据库类型
+     * <p>
+     * 查看 {@link #findIDialect(Executor)} 逻辑
+     */
+    private DbType dbType;
+    /**
+     * 方言实现类
+     * <p>
+     * 查看 {@link #findIDialect(Executor)} 逻辑
+     */
+    private IDialect dialect;
+    /**
+     * 生成 countSql 优化掉 join
+     * 现在只支持 left join
+     *
+     * @since 3.4.2
+     */
+    protected boolean optimizeJoin = true;
+
+    /**
+     * 这里进行count,如果count为0这返回false(就是不再执行sql了)
+     */
+    @Override
+    public boolean willDoQuery(Executor executor, MappedStatement ms, Object 
parameter, RowBounds rowBounds,
+                               ResultHandler resultHandler, BoundSql boundSql) 
throws SQLException {
+        IPage<?> page = ParameterUtils.findPage(parameter).orElse(null);
+        if (page == null || page.getSize() < 0 || !page.searchCount()) {
+            return true;
+        }
+
+        BoundSql countSql;
+        MappedStatement countMs = buildCountMappedStatement(ms, 
page.countId());
+        if (countMs != null) {
+            countSql = countMs.getBoundSql(parameter);
+        } else {
+            countMs = buildAutoCountMappedStatement(ms);
+            String countSqlStr = autoCountSql(page, boundSql.getSql());
+            PluginUtils.MPBoundSql mpBoundSql = 
PluginUtils.mpBoundSql(boundSql);
+            countSql = new BoundSql(countMs.getConfiguration(), countSqlStr, 
mpBoundSql.parameterMappings(), parameter);
+            PluginUtils.setAdditionalParameter(countSql, 
mpBoundSql.additionalParameters());
+        }
+
+        CacheKey cacheKey = executor.createCacheKey(countMs, parameter, 
rowBounds, countSql);
+        List<Object> result = executor.query(countMs, parameter, rowBounds, 
resultHandler, cacheKey, countSql);
+        long total = 0;
+        if (CollectionUtils.isNotEmpty(result)) {
+            // 个别数据库 count 没数据不会返回 0
+            Object o = result.get(0);
+            if (o != null) {
+                total = Long.parseLong(o.toString());
+            }
+        }
+        page.setTotal(total);
+        return continuePage(page);
+    }
+
+    @Override
+    public void beforeQuery(Executor executor, MappedStatement ms, Object 
parameter, RowBounds rowBounds,
+                            ResultHandler resultHandler, BoundSql boundSql) {
+        IPage<?> page = ParameterUtils.findPage(parameter).orElse(null);
+        if (null == page) {
+            return;
+        }
+
+        // 处理 orderBy 拼接
+        boolean addOrdered = false;
+        String buildSql = boundSql.getSql();
+        List<OrderItem> orders = page.orders();
+        if (CollectionUtils.isNotEmpty(orders)) {
+            addOrdered = true;
+            buildSql = this.concatOrderBy(buildSql, orders);
+        }
+
+        // size 小于 0 且不限制返回值则不构造分页sql
+        Long _limit = page.maxLimit() != null ? page.maxLimit() : maxLimit;
+        if (page.getSize() < 0 && null == _limit) {
+            if (addOrdered) {
+                PluginUtils.mpBoundSql(boundSql).sql(buildSql);
+            }
+            return;
+        }
+
+        handlerLimit(page, _limit);
+        IDialect dialect = findIDialect(executor);
+
+        final Configuration configuration = ms.getConfiguration();
+        DialectModel model = dialect.buildPaginationSql(buildSql, 
page.offset(), page.getSize());
+        PluginUtils.MPBoundSql mpBoundSql = PluginUtils.mpBoundSql(boundSql);
+
+        List<ParameterMapping> mappings = mpBoundSql.parameterMappings();
+        Map<String, Object> additionalParameter = 
mpBoundSql.additionalParameters();
+        model.consumers(mappings, configuration, additionalParameter);
+        mpBoundSql.sql(model.getDialectSql());
+        mpBoundSql.parameterMappings(mappings);
+    }
+
+    /**
+     * 获取分页方言类的逻辑
+     *
+     * @param executor Executor
+     * @return 分页方言类
+     */
+    protected IDialect findIDialect(Executor executor) {
+        if (dialect != null) {
+            return dialect;
+        }
+        if (dbType != null) {
+            dialect = DialectFactory.getDialect(dbType);
+            return dialect;
+        }
+        return DialectFactory.getDialect(JdbcUtils.getDbType(executor));
+    }
+
+    /**
+     * 获取指定的 id 的 MappedStatement
+     *
+     * @param ms      MappedStatement
+     * @param countId id
+     * @return MappedStatement
+     */
+    protected MappedStatement buildCountMappedStatement(MappedStatement ms, 
String countId) {
+        if (StringUtils.isNotBlank(countId)) {
+            final String id = ms.getId();
+            if (!countId.contains(StringPool.DOT)) {
+                countId = id.substring(0, id.lastIndexOf(StringPool.DOT) + 1) 
+ countId;
+            }
+            final Configuration configuration = ms.getConfiguration();
+            try {
+                return CollectionUtils.computeIfAbsent(countMsCache, countId,
+                    key -> configuration.getMappedStatement(key, false));
+            } catch (Exception e) {
+                logger.warn(String.format("can not find this countId: 
[\"%s\"]", countId));
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 构建 mp 自用自动的 MappedStatement
+     *
+     * @param ms MappedStatement
+     * @return MappedStatement
+     */
+    protected MappedStatement buildAutoCountMappedStatement(MappedStatement 
ms) {
+        final String countId = ms.getId() + "_mpCount";
+        final Configuration configuration = ms.getConfiguration();
+        return CollectionUtils.computeIfAbsent(countMsCache, countId, key -> {
+            MappedStatement.Builder builder =
+                new MappedStatement.Builder(configuration, key, 
ms.getSqlSource(), ms.getSqlCommandType());
+            builder.resource(ms.getResource());
+            builder.fetchSize(ms.getFetchSize());
+            builder.statementType(ms.getStatementType());
+            builder.timeout(ms.getTimeout());
+            builder.parameterMap(ms.getParameterMap());
+            builder.resultMaps(Collections.singletonList(
+                new ResultMap.Builder(configuration, Constants.MYBATIS_PLUS, 
Long.class, Collections.emptyList())
+                    .build()));
+            builder.resultSetType(ms.getResultSetType());
+            builder.cache(ms.getCache());
+            builder.flushCacheRequired(ms.isFlushCacheRequired());
+            builder.useCache(ms.isUseCache());
+            return builder.build();
+        });
+    }
+
+    /**
+     * 获取自动优化的 countSql
+     *
+     * @param page 参数
+     * @param sql  sql
+     * @return countSql
+     */
+    protected String autoCountSql(IPage<?> page, String sql) {
+        if (!page.optimizeCountSql()) {
+            return lowLevelCountSql(sql);
+        }
+        try {
+            Select select = (Select) CCJSqlParserUtil.parse(sql);
+            SelectBody selectBody = select.getSelectBody();
+            // https://github.com/baomidou/mybatis-plus/issues/3920 
分页增加union语法支持
+            if (selectBody instanceof SetOperationList) {
+                return lowLevelCountSql(sql);
+            }
+            PlainSelect plainSelect = (PlainSelect) select.getSelectBody();
+            Distinct distinct = plainSelect.getDistinct();
+            GroupByElement groupBy = plainSelect.getGroupBy();
+            List<OrderByElement> orderBy = plainSelect.getOrderByElements();
+
+            if (CollectionUtils.isNotEmpty(orderBy)) {
+                boolean canClean = groupBy == null;
+                // 包含groupBy 不去除orderBy
+                if (canClean) {
+                    for (OrderByElement order : orderBy) {
+                        // order by 里带参数,不去除order by
+                        Expression expression = order.getExpression();
+                        if (!(expression instanceof Column)
+                            && 
expression.toString().contains(StringPool.QUESTION_MARK)) {
+                            canClean = false;
+                            break;
+                        }
+                    }
+                }
+                if (canClean) {
+                    plainSelect.setOrderByElements(null);
+                }
+            }
+            // #95 Github, selectItems contains #{} ${}, which will be 
translated to ?, and it may be in a function:
+            // power(#{myInt},2)
+            for (SelectItem item : plainSelect.getSelectItems()) {
+                if (item.toString().contains(StringPool.QUESTION_MARK)) {
+                    return lowLevelCountSql(select.toString());
+                }
+            }
+            // 包含 distinct、groupBy不优化
+            if (distinct != null || null != groupBy) {
+                return lowLevelCountSql(select.toString());
+            }
+            // 包含 join 连表,进行判断是否移除 join 连表
+            if (optimizeJoin && page.optimizeJoinOfCountSql()) {
+                List<Join> joins = plainSelect.getJoins();
+                if (CollectionUtils.isNotEmpty(joins)) {
+                    boolean canRemoveJoin = true;
+                    String whereS = 
Optional.ofNullable(plainSelect.getWhere()).map(Expression::toString)
+                        .orElse(StringPool.EMPTY);
+                    // 不区分大小写
+                    whereS = whereS.toLowerCase();
+                    for (Join join : joins) {
+                        if (!join.isLeft()) {
+                            canRemoveJoin = false;
+                            break;
+                        }
+                        FromItem rightItem = join.getRightItem();
+                        String str = "";
+                        if (rightItem instanceof Table) {
+                            Table table = (Table) rightItem;
+                            str = 
Optional.ofNullable(table.getAlias()).map(Alias::getName).orElse(table.getName())
+                                + StringPool.DOT;
+                        } else if (rightItem instanceof SubSelect) {
+                            SubSelect subSelect = (SubSelect) rightItem;
+                            /* 如果 left join 是子查询,并且子查询里包含 ?(代表有入参) 或者 where 
条件里包含使用 join 的表的字段作条件,就不移除 join */
+                            if 
(subSelect.toString().contains(StringPool.QUESTION_MARK)) {
+                                canRemoveJoin = false;
+                                break;
+                            }
+                            str = subSelect.getAlias().getName() + 
StringPool.DOT;
+                        }
+                        // 不区分大小写
+                        str = str.toLowerCase();
+
+                        if (whereS.contains(str)) {
+                            /* 如果 where 条件里包含使用 join 的表的字段作条件,就不移除 join */
+                            canRemoveJoin = false;
+                            break;
+                        }
+
+                        for (Expression expression : join.getOnExpressions()) {
+                            if 
(expression.toString().contains(StringPool.QUESTION_MARK)) {
+                                /* 如果 join 里包含 ?(代表有入参) 就不移除 join */
+                                canRemoveJoin = false;
+                                break;
+                            }
+                        }
+                    }
+
+                    if (canRemoveJoin) {
+                        plainSelect.setJoins(null);
+                    }
+                }
+            }
+            // 优化 SQL
+            plainSelect.setSelectItems(COUNT_SELECT_ITEM);
+            return select.toString();
+        } catch (Exception ignored) {
+
+        }
+        return lowLevelCountSql(sql);
+    }
+
+    /**
+     * 无法进行count优化时,降级使用此方法
+     *
+     * @param originalSql 原始sql
+     * @return countSql
+     */
+    protected String lowLevelCountSql(String originalSql) {
+        return SqlParserUtils.getOriginalCountSql(originalSql);
+    }
+
+    /**
+     * 查询SQL拼接Order By
+     *
+     * @param originalSql 需要拼接的SQL
+     * @return ignore
+     */
+    public String concatOrderBy(String originalSql, List<OrderItem> orderList) 
{
+        try {
+            Select select = (Select) CCJSqlParserUtil.parse(originalSql);
+            SelectBody selectBody = select.getSelectBody();
+            if (selectBody instanceof PlainSelect) {
+                PlainSelect plainSelect = (PlainSelect) selectBody;
+                List<OrderByElement> orderByElements = 
plainSelect.getOrderByElements();
+                List<OrderByElement> orderByElementsReturn = 
addOrderByElements(orderList, orderByElements);
+                plainSelect.setOrderByElements(orderByElementsReturn);
+                return select.toString();
+            } else if (selectBody instanceof SetOperationList) {
+                SetOperationList setOperationList = (SetOperationList) 
selectBody;
+                List<OrderByElement> orderByElements = 
setOperationList.getOrderByElements();
+                List<OrderByElement> orderByElementsReturn = 
addOrderByElements(orderList, orderByElements);
+                setOperationList.setOrderByElements(orderByElementsReturn);
+                return select.toString();
+            } else if (selectBody instanceof WithItem) {
+                // todo: don't known how to resole
+                return originalSql;
+            } else {
+                return originalSql;
+            }
+        } catch (Exception ignored) {
+        }
+        return originalSql;
+    }
+
+    protected List<OrderByElement> addOrderByElements(List<OrderItem> 
orderList, List<OrderByElement> orderByElements) {
+        List<OrderByElement> additionalOrderBy = orderList.stream()
+            .filter(item -> StringUtils.isNotBlank(item.getColumn()))
+            .map(item -> {
+                OrderByElement element = new OrderByElement();
+                element.setExpression(new Column(item.getColumn()));
+                element.setAsc(item.isAsc());
+                element.setAscDescPresent(true);
+                return element;
+            }).collect(Collectors.toList());
+        if (CollectionUtils.isEmpty(orderByElements)) {
+            return additionalOrderBy;
+        }
+        // github pull/3550 优化排序,比如:默认 order by id 前端传了name排序,设置为 order by 
name,id
+        additionalOrderBy.addAll(orderByElements);
+        return additionalOrderBy;
+    }
+
+    /**
+     * count 查询之后,是否继续执行分页
+     *
+     * @param page 分页对象
+     * @return 是否
+     */
+    protected boolean continuePage(IPage<?> page) {
+        if (page.getTotal() <= 0) {
+            return false;
+        }
+        if (page.getCurrent() > page.getPages()) {
+            if (overflow) {
+                // 溢出总页数处理
+                handlerOverflow(page);
+            } else {
+                // 超过最大范围,未设置溢出逻辑中断 list 执行
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * 处理超出分页条数限制,默认归为限制数
+     *
+     * @param page IPage
+     */
+    protected void handlerLimit(IPage<?> page, Long limit) {
+        final long size = page.getSize();
+        if (limit != null && limit > 0 && (size > limit || size < 0)) {
+            page.setSize(limit);
+        }
+    }
+
+    /**
+     * 处理页数溢出,默认设置为第一页
+     *
+     * @param page IPage
+     */
+    protected void handlerOverflow(IPage<?> page) {
+        page.setCurrent(1);
+    }
+
+    @Override
+    public void setProperties(Properties properties) {
+        PropertyMapper.newInstance(properties)
+            .whenNotBlank("overflow", Boolean::parseBoolean, this::setOverflow)
+            .whenNotBlank("dbType", DbType::getDbType, this::setDbType)
+            .whenNotBlank("dialect", ClassUtils::newInstance, this::setDialect)
+            .whenNotBlank("maxLimit", Long::parseLong, this::setMaxLimit)
+            .whenNotBlank("optimizeJoin", Boolean::parseBoolean, 
this::setOptimizeJoin);
+    }
+}
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkApplicationConfigMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkApplicationConfigMapper.java
index 47357c824..422c7be2b 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkApplicationConfigMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkApplicationConfigMapper.java
@@ -22,8 +22,6 @@ import 
org.apache.streampark.console.core.entity.FlinkApplicationConfig;
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 public interface FlinkApplicationConfigMapper extends 
BaseMapper<FlinkApplicationConfig> {
 
@@ -31,8 +29,4 @@ public interface FlinkApplicationConfigMapper extends 
BaseMapper<FlinkApplicatio
 
     FlinkApplicationConfig selectEffective(@Param("appId") Long appId);
 
-    FlinkApplicationConfig selectLatest(@Param("appId") Long appId);
-
-    IPage<FlinkApplicationConfig> selectPageByAppId(
-                                                    
Page<FlinkApplicationConfig> page, @Param("appId") Long appId);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkApplicationMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkApplicationMapper.java
index ad3698dc5..3338b090c 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkApplicationMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkApplicationMapper.java
@@ -37,8 +37,6 @@ public interface FlinkApplicationMapper extends 
BaseMapper<FlinkApplication> {
 
     List<FlinkApplication> selectAppsByTeamId(@Param("teamId") Long teamId);
 
-    boolean mapping(@Param("app") FlinkApplication appParam);
-
     List<String> selectRecentK8sNamespaces(@Param("limitSize") Integer limit);
 
     List<String> selectRecentK8sClusterIds(
@@ -53,12 +51,6 @@ public interface FlinkApplicationMapper extends 
BaseMapper<FlinkApplication> {
 
     List<String> selectRecentK8sTmPodTemplates(@Param("limitSize") Integer 
limit);
 
-    void resetOptionState();
-
-    List<FlinkApplication> selectAppsByProjectId(@Param("projectId") Long id);
-
-    boolean existsRunningJobByClusterId(@Param("clusterId") Long clusterId);
-
     Integer countAffectedByClusterId(
                                      @Param("clusterId") Long clusterId, 
@Param("dbType") String dbType);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkCatalogMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkCatalogMapper.java
index 1706766c1..94183ede7 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkCatalogMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkCatalogMapper.java
@@ -19,18 +19,9 @@ package org.apache.streampark.console.core.mapper;
 
 import org.apache.streampark.console.core.entity.FlinkCatalog;
 
-import org.apache.ibatis.annotations.Param;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 /** catalog mapper */
 public interface FlinkCatalogMapper extends BaseMapper<FlinkCatalog> {
 
-    boolean existsByCatalogName(@Param("catalogName") String catalogName);
-
-    FlinkCatalog selectByCatalogName(@Param("catalogName") String catalogName);
-
-    IPage<FlinkCatalog> selectPage(Page<FlinkCatalog> page, @Param("catalog") 
FlinkCatalog catalog);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkClusterMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkClusterMapper.java
index b8758b2c0..b2cb088bd 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkClusterMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkClusterMapper.java
@@ -19,18 +19,8 @@ package org.apache.streampark.console.core.mapper;
 
 import org.apache.streampark.console.core.entity.FlinkCluster;
 
-import org.apache.ibatis.annotations.Param;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 public interface FlinkClusterMapper extends BaseMapper<FlinkCluster> {
 
-    boolean existsByClusterId(@Param("clusterId") String clusterId, 
@Param("id") Long id);
-
-    boolean existsByClusterName(@Param("clusterName") String clusterName, 
@Param("id") Long id);
-
-    IPage<FlinkCluster> findPage(
-                                 Page<FlinkCluster> page, @Param("cluster") 
FlinkCluster flinkCluster);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkEnvMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkEnvMapper.java
index c1315404d..38fb6f6b9 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkEnvMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkEnvMapper.java
@@ -18,13 +18,10 @@
 package org.apache.streampark.console.core.mapper;
 
 import org.apache.streampark.console.core.entity.FlinkEnv;
-import org.apache.streampark.console.core.entity.Project;
 
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 public interface FlinkEnvMapper extends BaseMapper<FlinkEnv> {
 
@@ -32,5 +29,4 @@ public interface FlinkEnvMapper extends BaseMapper<FlinkEnv> {
 
     void setDefault(@Param("id") Long id);
 
-    IPage<FlinkEnv> findPage(Page<Project> page, @Param("flinkEnv") FlinkEnv 
flinkEnv);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ProjectMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ProjectMapper.java
index c61d2bb89..54ba61262 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ProjectMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ProjectMapper.java
@@ -25,19 +25,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
-import java.util.List;
-
 public interface ProjectMapper extends BaseMapper<Project> {
 
-    void updateBuildState(@Param("id") Long id, @Param("state") Integer 
buildState);
-
-    void updateBuildTime(@Param("id") Long id);
-
     IPage<Project> selectPage(Page<Project> page, @Param("project") Project 
project);
 
-    boolean existsByTeamId(@Param("teamId") Long teamId);
-
-    List<Project> selectProjectsByTeamId(@Param("teamId") Long teamId);
-
-    Long getBuildingCount();
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ResourceMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ResourceMapper.java
index 7906a4888..3bc5ff8d1 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ResourceMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ResourceMapper.java
@@ -28,6 +28,4 @@ import 
com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 public interface ResourceMapper extends BaseMapper<Resource> {
 
     IPage<Resource> selectPage(Page<Resource> page, @Param("resource") 
Resource resource);
-
-    boolean existsByUserId(@Param("userId") Long userId);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SparkApplicationConfigMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SparkApplicationConfigMapper.java
index 2644e7978..2f3837a33 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SparkApplicationConfigMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SparkApplicationConfigMapper.java
@@ -22,8 +22,6 @@ import 
org.apache.streampark.console.core.entity.SparkApplicationConfig;
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 public interface SparkApplicationConfigMapper extends 
BaseMapper<SparkApplicationConfig> {
 
@@ -31,8 +29,4 @@ public interface SparkApplicationConfigMapper extends 
BaseMapper<SparkApplicatio
 
     SparkApplicationConfig selectEffective(@Param("appId") Long appId);
 
-    SparkApplicationConfig selectLatest(@Param("appId") Long appId);
-
-    IPage<SparkApplicationConfig> selectPageByAppId(
-                                                    
Page<SparkApplicationConfig> page, @Param("appId") Long appId);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SparkApplicationMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SparkApplicationMapper.java
index b45ad52fd..a19ecc541 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SparkApplicationMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SparkApplicationMapper.java
@@ -38,21 +38,8 @@ public interface SparkApplicationMapper extends 
BaseMapper<SparkApplication> {
 
     void persistMetrics(@Param("app") SparkApplication application);
 
-    boolean mapping(@Param("app") SparkApplication appParam);
-
     List<String> selectRecentK8sNamespaces(@Param("limitSize") Integer limit);
 
-    List<String> selectRecentK8sClusterIds(
-                                           @Param("deployMode") Integer 
deployMode,
-                                           @Param("limitSize") Integer limit);
-
     List<String> selectRecentK8sPodTemplates(@Param("limitSize") Integer 
limit);
 
-    List<String> selectRecentK8sJmPodTemplates(@Param("limitSize") Integer 
limit);
-
-    List<String> selectRecentK8sTmPodTemplates(@Param("limitSize") Integer 
limit);
-
-    void resetOptionState();
-
-    List<SparkApplication> selectAppsByProjectId(@Param("projectId") Long id);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
index dbb8d8e8a..ce0194ec3 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
@@ -25,13 +25,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
-import java.util.List;
-
 public interface VariableMapper extends BaseMapper<Variable> {
 
     IPage<Variable> selectPage(Page<Variable> page, @Param("variable") 
Variable variable);
 
-    List<Variable> selectVarsByTeamId(@Param("teamId") Long teamId, 
@Param("keyword") String keyword);
-
-    boolean existsByTeamId(@Param("teamId") Long teamId);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/YarnQueueMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/YarnQueueMapper.java
index 8047f03c3..72b6bca2d 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/YarnQueueMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/YarnQueueMapper.java
@@ -19,16 +19,8 @@ package org.apache.streampark.console.core.mapper;
 
 import org.apache.streampark.console.core.entity.YarnQueue;
 
-import org.apache.ibatis.annotations.Param;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 /** Yarn queue mapper definition. */
 public interface YarnQueueMapper extends BaseMapper<YarnQueue> {
-
-    IPage<YarnQueue> selectPage(Page<YarnQueue> page, @Param("yarnQueue") 
YarnQueue yarnQueue);
-
-    boolean existsByQueueLabel(@Param("yarnQueue") YarnQueue yarnQueue);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ProjectService.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ProjectService.java
index 5e1f96dd3..206c840ed 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ProjectService.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ProjectService.java
@@ -166,4 +166,8 @@ public interface ProjectService extends IService<Project> {
     GitAuthorizedErrorEnum gitCheck(Project project);
 
     List<String> getAllTags(Project project);
+
+    void updateBuildTime(Long id);
+
+    void updateBuildState(Long id, int state);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationConfigServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationConfigServiceImpl.java
index b4b79e9f6..283fc8f39 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationConfigServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationConfigServiceImpl.java
@@ -188,7 +188,9 @@ public class FlinkApplicationConfigServiceImpl
 
     @Override
     public FlinkApplicationConfig getLatest(Long appId) {
-        return baseMapper.selectLatest(appId);
+        return this.lambdaQuery().eq(FlinkApplicationConfig::getAppId, appId)
+            .eq(FlinkApplicationConfig::getLatest, true)
+            .one();
     }
 
     @Override
@@ -209,9 +211,13 @@ public class FlinkApplicationConfigServiceImpl
 
     @Override
     public IPage<FlinkApplicationConfig> getPage(FlinkApplicationConfig 
config, RestRequest request) {
-        request.setSortField("version");
         Page<FlinkApplicationConfig> page = MybatisPager.getPage(request);
-        IPage<FlinkApplicationConfig> configList = 
this.baseMapper.selectPageByAppId(page, config.getAppId());
+
+        IPage<FlinkApplicationConfig> configList = this.lambdaQuery()
+            .eq(FlinkApplicationConfig::getAppId, config.getAppId())
+            .orderByDesc(FlinkApplicationConfig::getVersion)
+            .page(page);
+
         fillEffectiveField(config.getAppId(), configList.getRecords());
         return configList;
     }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationInfoServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationInfoServiceImpl.java
index d602eb7f4..7276bcde1 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationInfoServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationInfoServiceImpl.java
@@ -260,12 +260,16 @@ public class FlinkApplicationInfoServiceImpl extends 
ServiceImpl<FlinkApplicatio
 
     @Override
     public boolean existsRunningByClusterId(Long clusterId) {
-        return baseMapper.existsRunningJobByClusterId(clusterId)
-            || FlinkAppHttpWatcher.getWatchingApps().stream()
-                .anyMatch(
-                    application -> 
clusterId.equals(application.getFlinkClusterId())
-                        && FlinkAppStateEnum.RUNNING == application
-                            .getStateEnum());
+        boolean exists = this.lambdaQuery()
+            .eq(FlinkApplication::getFlinkClusterId, clusterId)
+            .eq(FlinkApplication::getState, 
FlinkAppStateEnum.RUNNING.getValue())
+            .exists();
+
+        return exists || FlinkAppHttpWatcher.getWatchingApps().stream()
+            .anyMatch(
+                application -> 
clusterId.equals(application.getFlinkClusterId())
+                    && FlinkAppStateEnum.RUNNING == application
+                        .getStateEnum());
     }
 
     @Override
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationManageServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationManageServiceImpl.java
index c6987825a..aec454bac 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationManageServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/FlinkApplicationManageServiceImpl.java
@@ -152,7 +152,7 @@ public class FlinkApplicationManageServiceImpl extends 
ServiceImpl<FlinkApplicat
 
     @PostConstruct
     public void resetOptionState() {
-        this.baseMapper.resetOptionState();
+        this.lambdaUpdate().set(FlinkApplication::getOptionState, 
OptionStateEnum.NONE.getValue()).update();
     }
 
     @Override
@@ -179,7 +179,15 @@ public class FlinkApplicationManageServiceImpl extends 
ServiceImpl<FlinkApplicat
 
     @Override
     public boolean mapping(FlinkApplication appParam) {
-        boolean mapping = this.baseMapper.mapping(appParam);
+        boolean result = this.lambdaUpdate()
+            .eq(FlinkApplication::getId, appParam.getId())
+            .set(appParam.getClusterId() != null, 
FlinkApplication::getClusterId, appParam.getClusterId())
+            .set(appParam.getJobId() != null, FlinkApplication::getJobId, 
appParam.getJobId())
+            .set(FlinkApplication::getEndTime, null)
+            .set(FlinkApplication::getState, 
FlinkAppStateEnum.MAPPING.getValue())
+            .set(FlinkApplication::getTracking, 1)
+            .update();
+
         FlinkApplication application = getById(appParam.getId());
         if (application.isKubernetesModeJob()) {
             // todo mark
@@ -187,7 +195,7 @@ public class FlinkApplicationManageServiceImpl extends 
ServiceImpl<FlinkApplicat
         } else {
             FlinkAppHttpWatcher.doWatching(application);
         }
-        return mapping;
+        return result;
     }
 
     @Override
@@ -674,7 +682,7 @@ public class FlinkApplicationManageServiceImpl extends 
ServiceImpl<FlinkApplicat
 
     @Override
     public List<FlinkApplication> listByProjectId(Long id) {
-        return baseMapper.selectAppsByProjectId(id);
+        return this.lambdaQuery().eq(FlinkApplication::getProjectId, 
id).list();
     }
 
     @Override
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/SparkApplicationConfigServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/SparkApplicationConfigServiceImpl.java
index a0f34601c..39b1c6e5a 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/SparkApplicationConfigServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/SparkApplicationConfigServiceImpl.java
@@ -196,7 +196,9 @@ public class SparkApplicationConfigServiceImpl
 
     @Override
     public SparkApplicationConfig getLatest(Long appId) {
-        return baseMapper.selectLatest(appId);
+        return this.lambdaQuery().eq(SparkApplicationConfig::getAppId, appId)
+            .eq(SparkApplicationConfig::getLatest, true)
+            .one();
     }
 
     @Override
@@ -217,9 +219,13 @@ public class SparkApplicationConfigServiceImpl
 
     @Override
     public IPage<SparkApplicationConfig> getPage(SparkApplicationConfig 
config, RestRequest request) {
-        request.setSortField("version");
         Page<SparkApplicationConfig> page = MybatisPager.getPage(request);
-        IPage<SparkApplicationConfig> configList = 
this.baseMapper.selectPageByAppId(page, config.getAppId());
+
+        IPage<SparkApplicationConfig> configList = this.lambdaQuery()
+            .eq(SparkApplicationConfig::getAppId, config.getAppId())
+            .orderByDesc(SparkApplicationConfig::getVersion)
+            .page(page);
+
         fillEffectiveField(config.getAppId(), configList.getRecords());
         return configList;
     }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/SparkApplicationManageServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/SparkApplicationManageServiceImpl.java
index 38c2c2a9a..635afa2dd 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/SparkApplicationManageServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/SparkApplicationManageServiceImpl.java
@@ -124,7 +124,8 @@ public class SparkApplicationManageServiceImpl
 
     @PostConstruct
     public void resetOptionState() {
-        this.baseMapper.resetOptionState();
+        this.lambdaUpdate().set(SparkApplication::getOptionState, 
OptionStateEnum.NONE.getValue())
+            .update();
     }
 
     @Override
@@ -151,7 +152,13 @@ public class SparkApplicationManageServiceImpl
 
     @Override
     public boolean mapping(SparkApplication appParam) {
-        return this.baseMapper.mapping(appParam);
+        return this.lambdaUpdate()
+            .set(SparkApplication::getClusterId, appParam.getClusterId())
+            .set(SparkApplication::getEndTime, null)
+            .set(SparkApplication::getState, 
SparkAppStateEnum.MAPPING.getValue())
+            .set(SparkApplication::getTracking, 1)
+            .eq(SparkApplication::getId, appParam.getId())
+            .update();
     }
 
     @Override
@@ -565,7 +572,7 @@ public class SparkApplicationManageServiceImpl
 
     @Override
     public List<SparkApplication> listByProjectId(Long id) {
-        return baseMapper.selectAppsByProjectId(id);
+        return this.lambdaQuery().eq(SparkApplication::getProjectId, 
id).list();
     }
 
     @Override
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkCatalogServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkCatalogServiceImpl.java
index f316d5478..3c0dfec4a 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkCatalogServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkCatalogServiceImpl.java
@@ -26,6 +26,8 @@ import org.apache.streampark.console.core.entity.FlinkCatalog;
 import org.apache.streampark.console.core.mapper.FlinkCatalogMapper;
 import org.apache.streampark.console.core.service.FlinkCatalogService;
 
+import org.apache.commons.lang3.StringUtils;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -79,7 +81,14 @@ public class FlinkCatalogServiceImpl extends 
ServiceImpl<FlinkCatalogMapper, Fli
             catalog.getTeamId(), "The teamId can't be null. List catalog 
failed.");
 
         Page<FlinkCatalog> page = MybatisPager.getPage(request);
-        this.baseMapper.selectPage(page, FlinkCatalog.of(catalog));
+
+        this.lambdaQuery()
+            .eq(FlinkCatalog::getTeamId, catalog.getTeamId())
+            .eq(StringUtils.isNotBlank(catalog.getCatalogName()), 
FlinkCatalog::getCatalogName,
+                catalog.getCatalogName())
+            .eq(catalog.getUserId() != null, FlinkCatalog::getUserId, 
catalog.getUserId())
+            .page(page);
+
         Page<FlinkCatalogParams> paramsPage = new Page<>();
         BeanUtils.copyProperties(page, paramsPage, "records");
         List<FlinkCatalogParams> paramList = new ArrayList<>();
@@ -99,7 +108,7 @@ public class FlinkCatalogServiceImpl extends 
ServiceImpl<FlinkCatalogMapper, Fli
 
     @Override
     public FlinkCatalog getCatalog(String catalogName) {
-        return this.baseMapper.selectByCatalogName(catalogName);
+        return this.lambdaQuery().eq(FlinkCatalog::getCatalogName, 
catalogName).one();
     }
 
     @Override
@@ -123,7 +132,9 @@ public class FlinkCatalogServiceImpl extends 
ServiceImpl<FlinkCatalogMapper, Fli
     }
 
     public Boolean existsByCatalogName(String catalogName) {
-        return this.baseMapper.existsByCatalogName(catalogName);
+        return this.lambdaQuery()
+            .eq(FlinkCatalog::getCatalogName, catalogName)
+            .exists();
     }
 
     /** validate catalog name */
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
index 11dba77ee..0450baba3 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
@@ -277,12 +277,18 @@ public class FlinkClusterServiceImpl extends 
ServiceImpl<FlinkClusterMapper, Fli
 
     @Override
     public Boolean existsByClusterId(String clusterId, Long id) {
-        return this.baseMapper.existsByClusterId(clusterId, id);
+        return this.lambdaQuery()
+            .eq(FlinkCluster::getClusterId, clusterId)
+            .ne(id != null, FlinkCluster::getId, id)
+            .exists();
     }
 
     @Override
     public Boolean existsByClusterName(String clusterName, Long id) {
-        return this.baseMapper.existsByClusterName(clusterName, id);
+        return this.lambdaQuery()
+            .eq(FlinkCluster::getClusterName, clusterName)
+            .ne(id != null, FlinkCluster::getId, id)
+            .exists();
     }
 
     @Override
@@ -329,7 +335,8 @@ public class FlinkClusterServiceImpl extends 
ServiceImpl<FlinkClusterMapper, Fli
     @Override
     public IPage<FlinkCluster> findPage(FlinkCluster flinkCluster, RestRequest 
restRequest) {
         Page<FlinkCluster> page = MybatisPager.getPage(restRequest);
-        return this.baseMapper.findPage(page, flinkCluster);
+        return 
this.lambdaQuery().like(StringUtils.isNotBlank(flinkCluster.getClusterName()),
+            FlinkCluster::getClusterName, 
flinkCluster.getClusterName()).page(page);
     }
 
     @Override
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkEnvServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkEnvServiceImpl.java
index d422a81be..2076fb420 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkEnvServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkEnvServiceImpl.java
@@ -21,13 +21,14 @@ import 
org.apache.streampark.console.base.domain.RestRequest;
 import org.apache.streampark.console.base.exception.ApiAlertException;
 import org.apache.streampark.console.base.mybatis.pager.MybatisPager;
 import org.apache.streampark.console.core.entity.FlinkEnv;
-import org.apache.streampark.console.core.entity.Project;
 import org.apache.streampark.console.core.enums.FlinkEnvCheckEnum;
 import org.apache.streampark.console.core.mapper.FlinkEnvMapper;
 import org.apache.streampark.console.core.service.FlinkClusterService;
 import org.apache.streampark.console.core.service.FlinkEnvService;
 import 
org.apache.streampark.console.core.service.application.FlinkApplicationInfoService;
 
+import org.apache.commons.lang3.StringUtils;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -161,8 +162,10 @@ public class FlinkEnvServiceImpl extends 
ServiceImpl<FlinkEnvMapper, FlinkEnv>
     }
     @Override
     public IPage<FlinkEnv> findPage(FlinkEnv flinkEnv, RestRequest 
restRequest) {
-        Page<Project> page = MybatisPager.getPage(restRequest);
-        return this.baseMapper.findPage(page, flinkEnv);
+        Page<FlinkEnv> page = MybatisPager.getPage(restRequest);
+        return this.lambdaQuery()
+            .like(StringUtils.isNotBlank(flinkEnv.getFlinkName()), 
FlinkEnv::getFlinkName, flinkEnv.getFlinkName())
+            .page(page);
     }
 
     private void checkOrElseAlert(FlinkEnv flinkEnv) {
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkSqlServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkSqlServiceImpl.java
index 4d3096708..b45c8a951 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkSqlServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkSqlServiceImpl.java
@@ -210,9 +210,9 @@ public class FlinkSqlServiceImpl extends 
ServiceImpl<FlinkSqlMapper, FlinkSql>
 
     @Override
     public IPage<FlinkSql> getPage(Long appId, RestRequest request) {
-        request.setSortField("version");
         Page<FlinkSql> page = MybatisPager.getPage(request);
-        IPage<FlinkSql> sqlList = this.lambdaQuery().eq(FlinkSql::getAppId, 
appId).page(page);
+        IPage<FlinkSql> sqlList = this.lambdaQuery().eq(FlinkSql::getAppId, 
appId)
+            .orderByDesc(FlinkSql::getVersion).page(page);
         FlinkSql effectiveSql = baseMapper.getEffective(appId);
         if (effectiveSql != null) {
             for (FlinkSql sql : sqlList.getRecords()) {
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
index 47bd24f4a..220f8d187 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
@@ -32,7 +32,6 @@ import 
org.apache.streampark.console.base.exception.ApiDetailException;
 import org.apache.streampark.console.base.mybatis.pager.MybatisPager;
 import org.apache.streampark.console.base.util.GZipUtils;
 import org.apache.streampark.console.base.util.GitUtils;
-import org.apache.streampark.console.base.util.ObjectUtils;
 import org.apache.streampark.console.core.entity.FlinkApplication;
 import org.apache.streampark.console.core.entity.Project;
 import org.apache.streampark.console.core.enums.BuildStateEnum;
@@ -44,6 +43,7 @@ import 
org.apache.streampark.console.core.service.application.FlinkApplicationMa
 import org.apache.streampark.console.core.task.ProjectBuildTask;
 import org.apache.streampark.console.core.watcher.FlinkAppHttpWatcher;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.flink.configuration.MemorySize;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -116,13 +116,6 @@ public class ProjectServiceImpl extends 
ServiceImpl<ProjectMapper, Project>
 
     @Override
     public boolean checkExists(Project project) {
-        if (project.getId() != null) {
-            Project proj = getById(project.getId());
-            if (proj != null && ObjectUtils.safeEquals(project.getName(), 
proj.getName())) {
-                return false;
-            }
-        }
-
         return this.lambdaQuery()
             .eq(Project::getName, project.getName())
             .eq(Project::getTeamId, project.getTeamId())
@@ -195,37 +188,51 @@ public class ProjectServiceImpl extends 
ServiceImpl<ProjectMapper, Project>
     @Override
     public IPage<Project> getPage(Project project, RestRequest request) {
         Page<Project> page = MybatisPager.getPage(request);
-        return this.baseMapper.selectPage(page, project);
+        this.lambdaQuery()
+            .eq(Project::getTeamId, project.getTeamId())
+            .like(StringUtils.isNotBlank(project.getName()), Project::getName, 
project.getName())
+            .eq(project.getBuildState() != null, Project::getBuildState, 
project.getBuildState())
+            .page(page);
+        return page;
     }
 
     @Override
     public Boolean existsByTeamId(Long teamId) {
-        return this.baseMapper.existsByTeamId(teamId);
+        return this.lambdaQuery()
+            .eq(Project::getTeamId, teamId)
+            .exists();
     }
 
     @Override
     public List<Project> listByTeamId(Long teamId) {
-        return this.baseMapper.selectProjectsByTeamId(teamId);
+        return this.lambdaQuery().eq(Project::getTeamId, teamId)
+            .list();
     }
 
     @Override
     public void build(Long id) throws Exception {
-        Long currentBuildCount = this.baseMapper.getBuildingCount();
+
+        Long currentBuildCount = this.lambdaQuery()
+            .eq(Project::getBuildState, BuildStateEnum.BUILDING.get())
+            .count();
+
         ApiAlertException.throwIfTrue(
             maxProjectBuildNum > -1 && currentBuildCount > maxProjectBuildNum,
             String.format(
                 "The number of running Build projects exceeds the maximum 
number: %d of max-build-num",
                 maxProjectBuildNum));
         Project project = getById(id);
-        this.baseMapper.updateBuildState(project.getId(), 
BuildStateEnum.BUILDING.get());
+
+        this.updateBuildState(project.getId(), BuildStateEnum.BUILDING.get());
+
         String logPath = getBuildLogPath(id);
         ProjectBuildTask projectBuildTask = new ProjectBuildTask(
             logPath,
             project,
             buildStateEnum -> {
-                baseMapper.updateBuildState(id, buildStateEnum.get());
+                this.updateBuildState(id, buildStateEnum.get());
                 if (buildStateEnum == BuildStateEnum.SUCCESSFUL) {
-                    baseMapper.updateBuildTime(id);
+                    this.updateBuildTime(id);
                 }
                 flinkAppHttpWatcher.init();
             },
@@ -445,6 +452,22 @@ public class ProjectServiceImpl extends 
ServiceImpl<ProjectMapper, Project>
         }
     }
 
+    @Override
+    public void updateBuildTime(Long id) {
+        this.lambdaUpdate()
+            .eq(Project::getId, id)
+            .set(Project::getLastBuild, new Date())
+            .update();
+    }
+
+    @Override
+    public void updateBuildState(Long id, int state) {
+        this.lambdaUpdate()
+            .eq(Project::getId, id)
+            .set(Project::getBuildState, state)
+            .update();
+    }
+
     private Project remakeProject(Project project) {
         if (Objects.nonNull(project.getId())) {
             return this.baseMapper.selectById(project.getId());
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ResourceServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ResourceServiceImpl.java
index 4cfe80093..b0139f7d6 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ResourceServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ResourceServiceImpl.java
@@ -123,7 +123,8 @@ public class ResourceServiceImpl extends 
ServiceImpl<ResourceMapper, Resource>
      */
     @Override
     public boolean existsByUserId(Long userId) {
-        return this.baseMapper.existsByUserId(userId);
+        return this.lambdaQuery().eq(Resource::getCreatorId, userId)
+            .exists();
     }
 
     @Override
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SparkSqlServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SparkSqlServiceImpl.java
index 167f6d5a8..e776b73d9 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SparkSqlServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SparkSqlServiceImpl.java
@@ -209,9 +209,9 @@ public class SparkSqlServiceImpl extends 
ServiceImpl<SparkSqlMapper, SparkSql>
 
     @Override
     public IPage<SparkSql> getPage(Long appId, RestRequest request) {
-        request.setSortField("version");
         Page<SparkSql> page = MybatisPager.getPage(request);
-        IPage<SparkSql> sqlList = this.lambdaQuery().eq(SparkSql::getAppId, 
appId).page(page);
+        IPage<SparkSql> sqlList = this.lambdaQuery().eq(SparkSql::getAppId, 
appId)
+            .orderByDesc(SparkSql::getVersion).page(page);
         SparkSql effectiveSql = baseMapper.getEffective(appId);
         if (effectiveSql != null) {
             for (SparkSql sql : sqlList.getRecords()) {
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
index be0ff0bad..ee9695a83 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
@@ -169,7 +169,11 @@ public class VariableServiceImpl extends 
ServiceImpl<VariableMapper, Variable>
      */
     @Override
     public List<Variable> listByTeamId(Long teamId, String keyword) {
-        return baseMapper.selectVarsByTeamId(teamId, keyword);
+        return this.lambdaQuery().eq(Variable::getTeamId, teamId)
+            .and(StringUtils.isNotBlank(keyword), c -> 
c.like(Variable::getVariableCode, keyword)
+                .or()
+                .like(Variable::getDescription, keyword))
+            .list();
     }
 
     /**
@@ -255,6 +259,7 @@ public class VariableServiceImpl extends 
ServiceImpl<VariableMapper, Variable>
 
     @Override
     public boolean existsByTeamId(Long teamId) {
-        return this.baseMapper.existsByTeamId(teamId);
+        return this.lambdaQuery().eq(Variable::getTeamId, teamId)
+            .exists();
     }
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/YarnQueueServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/YarnQueueServiceImpl.java
index 0fcc3ff06..fe07f3e95 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/YarnQueueServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/YarnQueueServiceImpl.java
@@ -78,8 +78,12 @@ public class YarnQueueServiceImpl extends 
ServiceImpl<YarnQueueMapper, YarnQueue
         AssertUtils.notNull(yarnQueue, "Yarn queue query params mustn't be 
null.");
         AssertUtils.notNull(
             yarnQueue.getTeamId(), "Team id of yarn queue query params mustn't 
be null.");
+
         Page<YarnQueue> page = MybatisPager.getPage(request);
-        return this.baseMapper.selectPage(page, yarnQueue);
+        return this.lambdaQuery().eq(yarnQueue.getTeamId() != null, 
YarnQueue::getTeamId, yarnQueue.getTeamId())
+            .like(StringUtils.isNotBlank(yarnQueue.getQueueLabel()), 
YarnQueue::getQueueLabel,
+                yarnQueue.getQueueLabel())
+            .page(page);
     }
 
     /**
@@ -108,7 +112,10 @@ public class YarnQueueServiceImpl extends 
ServiceImpl<YarnQueueMapper, YarnQueue
             return responseResult;
         }
 
-        boolean existed = this.baseMapper.existsByQueueLabel(yarnQueue);
+        boolean existed = this.lambdaQuery().eq(YarnQueue::getTeamId, 
yarnQueue.getTeamId())
+            .eq(YarnQueue::getQueueLabel, yarnQueue.getQueueLabel())
+            .ne(yarnQueue.getId() != null, YarnQueue::getId, yarnQueue.getId())
+            .exists();
 
         if (existed) {
             responseResult.setStatus(1);
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/MemberMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/MemberMapper.java
index 8669336d9..9893db1ae 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/MemberMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/MemberMapper.java
@@ -30,22 +30,6 @@ import java.util.List;
 
 public interface MemberMapper extends BaseMapper<Member> {
 
-    /**
-     * delete role by user id
-     *
-     * @param userId user id
-     * @return boolean
-     */
-    boolean deleteByUserId(@Param("userId") Long userId);
-
-    /**
-     * delete user by role id
-     *
-     * @param roleId role id
-     * @return boolean
-     */
-    boolean deleteByRoleId(@Param("roleId") Long roleId);
-
     IPage<Member> selectPage(Page<Member> page, @Param("member") Member 
member);
 
     List<User> selectUsersNotInTeam(@Param("teamId") Long teamId);
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/RoleMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/RoleMapper.java
index 1039c8198..0e6aab877 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/RoleMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/RoleMapper.java
@@ -19,13 +19,7 @@ package org.apache.streampark.console.system.mapper;
 
 import org.apache.streampark.console.system.entity.Role;
 
-import org.apache.ibatis.annotations.Param;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 public interface RoleMapper extends BaseMapper<Role> {
-
-    IPage<Role> selectPage(Page<Role> page, @Param("role") Role role);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/TeamMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/TeamMapper.java
index 6beabd0b2..16a572260 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/TeamMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/TeamMapper.java
@@ -19,17 +19,11 @@ package org.apache.streampark.console.system.mapper;
 
 import org.apache.streampark.console.system.entity.Team;
 
-import org.apache.ibatis.annotations.Param;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 import java.util.List;
 
 public interface TeamMapper extends BaseMapper<Team> {
 
-    IPage<Team> selectPage(Page<Team> page, @Param("team") Team team);
-
     List<Team> selectTeamsByUserId(Long userId);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/UserMapper.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/UserMapper.java
index d43a679a2..bfc72b509 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/UserMapper.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/UserMapper.java
@@ -34,8 +34,4 @@ public interface UserMapper extends BaseMapper<User> {
     List<User> selectNoTokenUsers();
 
     List<User> selectUsersByAppOwner(@Param("teamId") Long teamId);
-
-    void clearLastTeamByUserId(@Param("userId") Long userId);
-
-    void clearLastTeamByTeamId(@Param("teamId") Long teamId);
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
index 45c027ddc..e7ea0de90 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
@@ -58,13 +58,13 @@ public class MemberServiceImpl extends 
ServiceImpl<MemberMapper, Member> impleme
     @Override
     @Transactional
     public void removeByRoleIds(String[] roleIds) {
-        Arrays.stream(roleIds).forEach(id -> 
baseMapper.deleteByRoleId(Long.valueOf(id)));
+        this.lambdaUpdate().in(Member::getRoleId, 
Arrays.asList(roleIds)).remove();
     }
 
     @Override
     @Transactional
     public void removeByUserId(Long userId) {
-        baseMapper.deleteByUserId(userId);
+        this.lambdaUpdate().eq(Member::getUserId, userId).remove();
     }
 
     @Override
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
index c841c5f7b..eefb80b8a 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
@@ -63,7 +63,9 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, 
Role> implements Ro
     @Override
     public IPage<Role> getPage(Role role, RestRequest request) {
         Page<Role> page = MybatisPager.getPage(request);
-        return this.baseMapper.selectPage(page, role);
+        return this.lambdaQuery()
+            .like(StringUtils.isNotBlank(role.getRoleName()), 
Role::getRoleName, role.getRoleName())
+            .page(page);
     }
 
     @Override
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/TeamServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/TeamServiceImpl.java
index d40ee2741..0820c5ba9 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/TeamServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/TeamServiceImpl.java
@@ -33,6 +33,8 @@ import 
org.apache.streampark.console.system.service.MemberService;
 import org.apache.streampark.console.system.service.TeamService;
 import org.apache.streampark.console.system.service.UserService;
 
+import org.apache.commons.lang3.StringUtils;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -68,7 +70,9 @@ public class TeamServiceImpl extends ServiceImpl<TeamMapper, 
Team> implements Te
     @Override
     public IPage<Team> getPage(Team team, RestRequest request) {
         Page<Team> page = MybatisPager.getPage(request);
-        return this.baseMapper.selectPage(page, team);
+        return this.lambdaQuery()
+            .like(StringUtils.isNotBlank(team.getTeamName()), 
Team::getTeamName, team.getTeamName())
+            .page(page);
     }
 
     @Override
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
index dc2095ee6..383dfba80 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
@@ -216,12 +216,17 @@ public class UserServiceImpl extends 
ServiceImpl<UserMapper, User> implements Us
         if (!teamId.equals(user.getLastTeamId())) {
             return;
         }
-        this.baseMapper.clearLastTeamByUserId(userId);
+        this.lambdaUpdate()
+            .eq(User::getUserId, userId)
+            .set(User::getLastTeamId, null)
+            .update();
     }
 
     @Override
     public void clearLastTeam(Long teamId) {
-        this.baseMapper.clearLastTeamByTeamId(teamId);
+        this.lambdaUpdate().eq(User::getLastTeamId, teamId)
+            .set(User::getLastTeamId, null)
+            .update();
     }
 
     @Override
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
 
b/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
index 5e5bb79c0..d76d1ede5 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
+++ 
b/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
@@ -44,7 +44,7 @@ insert into `t_flink_effective` values (100000, 100000, 2, 
100000, now());
 -- ----------------------------
 -- Records of t_flink_project
 -- ----------------------------
-insert into `t_flink_project` values (100000, 100000, 'streampark-quickstart', 
'https://github.com/apache/incubator-streampark-quickstart', 'dev', null, null, 
null, null, null, null, 1, 1, null, 'streampark-quickstart', -1, now(), now());
+insert into `t_flink_project` values (100000, 100000, 'streampark-quickstart', 
'https://github.com/apache/streampark-quickstart', 'dev', null, null, null, 
null, null, null, 1, 1, null, 'streampark-quickstart', -1, now(), now());
 
 -- ----------------------------
 -- Records of t_flink_sql
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkApplicationConfigMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkApplicationConfigMapper.xml
index fb1829b1e..06365d4a0 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkApplicationConfigMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkApplicationConfigMapper.xml
@@ -19,13 +19,6 @@
 
 <mapper 
namespace="org.apache.streampark.console.core.mapper.FlinkApplicationConfigMapper">
 
-    <select id="selectLatest" 
resultType="org.apache.streampark.console.core.entity.FlinkApplicationConfig" 
parameterType="java.lang.Long">
-        select *
-        from t_flink_config
-        where app_id=#{appId}
-        and latest=true
-    </select>
-
     <select id="selectLastVersion" resultType="java.lang.Integer" 
parameterType="java.lang.Long">
         select max(`version`) as lastVersion
         from t_flink_config
@@ -41,9 +34,5 @@
         and e.target_type = 1
     </select>
 
-    <select id="selectPageByAppId" 
resultType="org.apache.streampark.console.core.entity.FlinkApplicationConfig" 
parameterType="java.lang.Long">
-        select * from t_flink_config
-        where app_id=#{appId}
-    </select>
 
 </mapper>
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkApplicationMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkApplicationMapper.xml
index 045d6b112..0c567e6d0 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkApplicationMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkApplicationMapper.xml
@@ -18,22 +18,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper 
namespace="org.apache.streampark.console.core.mapper.FlinkApplicationMapper">
 
-    <update id="resetOptionState">
-        update t_flink_app
-        set option_state = 0
-    </update>
-
-    <select id="existsRunningJobByClusterId" resultType="java.lang.Boolean" 
parameterType="java.lang.Long">
-        select
-            CASE
-                WHEN  count(1) > 0 THEN true ELSE false
-            END
-        from t_flink_app
-            where flink_cluster_id = #{clusterId}
-             and state = 5
-             limit 1
-    </select>
-
     <select id="countAffectedByClusterId" resultType="java.lang.Integer" 
parameterType="java.lang.Long">
         select
             count(1)
@@ -52,10 +36,6 @@
             limit 1
     </select>
 
-    <select id="selectAppsByProjectId" 
resultType="org.apache.streampark.console.core.entity.FlinkApplication" 
parameterType="java.lang.Long">
-        select * from t_flink_app where project_id=#{projectId}
-    </select>
-
     <select id="selectPage" 
resultType="org.apache.streampark.console.core.entity.FlinkApplication" 
parameterType="org.apache.streampark.console.core.entity.FlinkApplication">
         select
         t.*,
@@ -205,22 +185,6 @@
         where t.team_id=#{teamId}
     </select>
 
-    <update id="mapping" 
parameterType="org.apache.streampark.console.core.entity.FlinkApplication">
-        update t_flink_app
-        <set>
-            <if test="app.clusterId != null">
-                cluster_id=#{app.clusterId},
-            </if>
-            <if test="app.jobId != null">
-                job_id=#{app.jobId},
-            </if>
-            end_time=null,
-            state=14,
-            tracking=1
-        </set>
-        where id=#{app.id}
-    </update>
-
     <select id="selectRecentK8sNamespaces" resultType="java.lang.String" 
parameterType="java.lang.Integer">
         select k8s_namespace
         from (
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkCatalogMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkCatalogMapper.xml
index d5de6876f..834d52c91 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkCatalogMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkCatalogMapper.xml
@@ -17,34 +17,5 @@
   -->
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper 
namespace="org.apache.streampark.console.core.mapper.FlinkCatalogMapper">
-    <select id="existsByCatalogName" resultType="java.lang.Boolean" 
parameterType="java.lang.String">
-        select
-        CASE
-        WHEN  count(1) > 0 THEN true ELSE false
-        END
-        from t_flink_catalog
-        where catalog_name = #{catalogName}
-        limit 1
-    </select>
 
-    <select id="selectByCatalogName" 
resultType="org.apache.streampark.console.core.entity.FlinkCatalog" 
parameterType="java.lang.String">
-        select
-        *
-        from t_flink_catalog
-        where catalog_name = #{catalogName}
-        limit 1
-    </select>
-
-    <select id="selectPage" 
resultType="org.apache.streampark.console.core.entity.FlinkCatalog" 
parameterType="org.apache.streampark.console.core.entity.FlinkCatalog">
-        select * from t_flink_catalog
-        <where>
-            team_id = #{catalog.teamId}
-            <if test="catalog.catalogName != null and catalog.catalogName != 
''">
-                and catalog_name = #{catalog.catalogName}
-            </if>
-            <if test="catalog.userId != null and catalog.userId != ''">
-                and user_id = #{catalog.userId}
-            </if>
-        </where>
-    </select>
 </mapper>
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
index ade85d8cf..4b0cd2aea 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
@@ -17,48 +17,5 @@
   -->
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper 
namespace="org.apache.streampark.console.core.mapper.FlinkClusterMapper">
-    <select id="findPage" 
resultType="org.apache.streampark.console.core.entity.FlinkCluster">
-        select * from t_flink_cluster
-        <where>
-            <if test="cluster.clusterName != null and cluster.clusterName != 
''">
-                <if test="_databaseId == 'mysql'">
-                    and cluster_name like concat('%', 
#{cluster.clusterName},'%')
-                </if>
-                <if test="_databaseId == 'pgsql'">
-                    and cluster_name like '%' || #{cluster.clusterName} || '%'
-                </if>
-            </if>
-        </where>
-    </select>
-
-    <select id="existsByClusterId" resultType="java.lang.Boolean" 
parameterType="java.lang.String">
-        select
-         CASE
-           WHEN  count(1) > 0 THEN true ELSE false
-         END
-        from t_flink_cluster
-        <where>
-            cluster_id=#{clusterId}
-            <if test="id != null">
-                and id &lt;&gt; #{id}
-            </if>
-        </where>
-        limit 1
-    </select>
-
-    <select id="existsByClusterName" resultType="java.lang.Boolean" 
parameterType="java.util.Map">
-        select
-         CASE
-           WHEN  count(1) > 0 THEN true ELSE false
-         END
-        from t_flink_cluster
-        <where>
-            cluster_name=#{clusterName}
-            <if test="id != null">
-                and id &lt;&gt; #{id}
-            </if>
-        </where>
-        limit 1
-    </select>
 
 </mapper>
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkEnvMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkEnvMapper.xml
index 7757311b8..306d1e1f7 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkEnvMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkEnvMapper.xml
@@ -17,20 +17,6 @@
   -->
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper namespace="org.apache.streampark.console.core.mapper.FlinkEnvMapper">
-    <select id="findPage" 
resultType="org.apache.streampark.console.core.entity.FlinkEnv">
-        select * from t_flink_env
-        <where>
-            <if test="flinkEnv.flinkName != null and flinkEnv.flinkName != ''">
-                <if test="_databaseId == 'mysql'">
-                    and flink_name like concat('%', #{flinkEnv.flinkName},'%')
-                </if>
-                <if test="_databaseId == 'pgsql'">
-                    and flink_name like '%' || #{flinkEnv.flinkName} || '%'
-                </if>
-            </if>
-        </where>
-    </select>
-
     <select id="selectByAppId" 
resultType="org.apache.streampark.console.core.entity.FlinkEnv" 
parameterType="java.lang.Long">
         select v.*
         from t_flink_env v
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ProjectMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ProjectMapper.xml
index ade3437a8..0220644bd 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ProjectMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ProjectMapper.xml
@@ -18,64 +18,4 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper namespace="org.apache.streampark.console.core.mapper.ProjectMapper">
 
-    <select id="existsByTeamId" resultType="java.lang.Boolean" 
parameterType="java.lang.Long">
-        select
-            CASE
-                WHEN  count(1) > 0 THEN true ELSE false
-            END
-        from t_flink_project
-            where team_id = #{teamId}
-            limit 1
-    </select>
-
-    <select id="existsByUserId" resultType="java.lang.Boolean" 
parameterType="java.lang.String">
-        select
-            CASE
-                WHEN  count(1) > 0 THEN true ELSE false
-                END
-        from t_flink_project
-        where user_id = #{userId}
-        limit 1
-    </select>
-
-    <select id="selectProjectsByTeamId" 
resultType="org.apache.streampark.console.core.entity.Project" 
parameterType="java.lang.Long">
-        select *
-        from t_flink_project
-        where team_id = #{teamId}
-    </select>
-
-    <update id="updateBuildState" parameterType="java.util.Map">
-        update t_flink_project
-        set build_state = #{state}
-        where id = #{id}
-    </update>
-
-    <update id="updateBuildTime" parameterType="java.lang.Long">
-        update t_flink_project
-        set last_build = now()
-        where id = #{id}
-    </update>
-
-    <select id="selectPage" 
resultType="org.apache.streampark.console.core.entity.Project" 
parameterType="org.apache.streampark.console.core.entity.Project">
-        select *
-        from t_flink_project t
-        <where>
-            t.team_id = #{project.teamId}
-            <if test="project.name != null and project.name != ''">
-                <if test="_databaseId == 'mysql'">
-                    and t.name like concat('%', #{project.name},'%')
-                </if>
-                <if test="_databaseId == 'pgsql'">
-                    and t.name like '%' || #{project.name} || '%'
-                </if>
-            </if>
-            <if test="project.buildState != null">
-                and t.build_state = #{project.buildState}
-            </if>
-        </where>
-    </select>
-    <select id="getBuildingCount" resultType="java.lang.Long">
-        select count(1) from t_flink_project where build_state = 0
-    </select>
-
 </mapper>
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ResourceMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ResourceMapper.xml
index af7d50543..6d0bbaa77 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ResourceMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ResourceMapper.xml
@@ -43,15 +43,4 @@
         </if>
     </select>
 
-    <select id="existsByUserId" resultType="java.lang.Boolean" 
parameterType="java.lang.Long">
-        select
-            CASE
-                WHEN  count(1) > 0 THEN true ELSE false
-                END
-        from t_resource
-        where creator_id = #{userId}
-         limit 1
-    </select>
-
-
 </mapper>
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/SparkApplicationConfigMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/SparkApplicationConfigMapper.xml
index f1a5edf6d..3ddde3d4e 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/SparkApplicationConfigMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/SparkApplicationConfigMapper.xml
@@ -18,12 +18,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 
 <mapper 
namespace="org.apache.streampark.console.core.mapper.SparkApplicationConfigMapper">
-    <select id="selectLatest" 
resultType="org.apache.streampark.console.core.entity.SparkApplicationConfig" 
parameterType="java.lang.Long">
-        select *
-        from t_spark_config
-        where app_id=#{appId}
-        and latest=true
-    </select>
 
     <select id="selectLastVersion" resultType="java.lang.Integer" 
parameterType="java.lang.Long">
         select max(`version`) as lastVersion
@@ -40,9 +34,4 @@
         and e.target_type = 3
     </select>
 
-    <select id="selectPageByAppId" 
resultType="org.apache.streampark.console.core.entity.SparkApplicationConfig" 
parameterType="java.lang.Long">
-        select * from t_spark_config
-        where app_id=#{appId}
-    </select>
-
 </mapper>
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/SparkApplicationMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/SparkApplicationMapper.xml
index 40e76f06a..2e7c6dd14 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/SparkApplicationMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/SparkApplicationMapper.xml
@@ -17,15 +17,6 @@
   -->
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper 
namespace="org.apache.streampark.console.core.mapper.SparkApplicationMapper">
-    <update id="resetOptionState">
-        update t_spark_app
-        set option_state = 0
-    </update>
-
-
-    <select id="selectAppsByProjectId" 
resultType="org.apache.streampark.console.core.entity.SparkApplication" 
parameterType="java.lang.Long">
-        select * from t_spark_app where project_id=#{projectId}
-    </select>
 
     <select id="selectPage" 
resultType="org.apache.streampark.console.core.entity.SparkApplication" 
parameterType="org.apache.streampark.console.core.entity.SparkApplication">
         select
@@ -99,19 +90,6 @@
         where t.team_id=#{teamId}
     </select>
 
-    <update id="mapping" 
parameterType="org.apache.streampark.console.core.entity.SparkApplication">
-        update t_spark_app
-        <set>
-            <if test="app.cluster_id != null">
-                cluster_id=#{app.clusterId},
-            </if>
-            end_time=null,
-            state=14,
-            tracking=1
-        </set>
-        where id=#{app.id}
-    </update>
-
     <select id="selectRecentK8sNamespaces" resultType="java.lang.String" 
parameterType="java.lang.Integer">
         select k8s_namespace
         from (
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
index 07cd64d90..9158f8c0c 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
@@ -43,30 +43,4 @@
         </if>
     </select>
 
-    <select id="existsByTeamId" resultType="java.lang.Boolean" 
parameterType="java.lang.Long">
-        select
-            CASE
-                WHEN  count(1) > 0 THEN true ELSE false
-            END
-        from t_variable
-             where team_id = #{teamId}
-             limit 1
-    </select>
-
-    <select id="selectVarsByTeamId" 
resultType="org.apache.streampark.console.core.entity.Variable">
-        select *
-        from t_variable
-        <where>
-            team_id = #{teamId}
-            <if test="keyword != null and keyword != ''">
-                <if test="_databaseId == 'mysql'">
-                    and variable_code like concat('%', #{keyword}, '%') or 
description like concat('%', #{keyword}, '%')
-                </if>
-                <if test="_databaseId == 'pgsql'">
-                    and variable_code like '%' || #{keyword} || '%' or 
description like '%' || #{keyword} || '%'
-                </if>
-            </if>
-        </where>
-    </select>
-
 </mapper>
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/YarnQueueMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/YarnQueueMapper.xml
index 1c9754144..600c88391 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/YarnQueueMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/YarnQueueMapper.xml
@@ -17,44 +17,5 @@
   -->
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper namespace="org.apache.streampark.console.core.mapper.YarnQueueMapper">
-    <select id="selectPage" 
resultType="org.apache.streampark.console.core.entity.YarnQueue">
-        select * from t_yarn_queue
-        <where>
-            <if test="yarnQueue.teamId != null">
-                team_id = #{yarnQueue.teamId}
-            </if>
-            <if test="yarnQueue.queueLabel != null and yarnQueue.queueLabel != 
''">
-                <if test="_databaseId == 'mysql'">
-                    and queue_label like concat('%', 
#{yarnQueue.queueLabel},'%')
-                </if>
-                <if test="_databaseId == 'pgsql'">
-                    and queue_label like '%' || #{yarnQueue.queueLabel} || '%'
-                </if>
-            </if>
-            <if test="yarnQueue.createTimeFrom != null and 
yarnQueue.createTimeFrom !=''">
-                and create_time &gt; #{yarnQueue.createTimeFrom}
-            </if>
-            <if test="yarnQueue.createTimeTo!= null and yarnQueue.createTimeTo 
!=''">
-                and create_time &lt; #{yarnQueue.createTimeTo}
-            </if>
-        </where>
-    </select>
-
-    <select id="existsByQueueLabel" resultType="java.lang.Boolean" 
parameterType="org.apache.streampark.console.core.entity.YarnQueue">
-        select
-         CASE
-          WHEN  count(1) > 0 THEN true ELSE false
-         END
-        from t_yarn_queue
-        <where>
-            team_id = #{yarnQueue.teamId}
-            and
-            queue_label = #{yarnQueue.queueLabel}
-            <if test="yarnQueue.id != null">
-                and id &lt;&gt; #{yarnQueue.id}
-            </if>
-        </where>
-        limit 1
-    </select>
 
 </mapper>
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/system/MemberMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/system/MemberMapper.xml
index dc2c633bc..03aba47f3 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/system/MemberMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/system/MemberMapper.xml
@@ -18,18 +18,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper namespace="org.apache.streampark.console.system.mapper.MemberMapper">
 
-    <delete id="deleteByUserId">
-        delete
-        from t_member
-        where user_id = #{userId}
-    </delete>
-
-    <delete id="deleteByRoleId">
-        delete
-        from t_member
-        where role_id = #{roleId}
-    </delete>
-
     <select id="selectPage" 
resultType="org.apache.streampark.console.system.entity.Member" 
parameterType="org.apache.streampark.console.system.entity.Member">
         select tur.*,
         u.username,
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/system/RoleMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/system/RoleMapper.xml
index 6868610a0..1b307870c 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/system/RoleMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/system/RoleMapper.xml
@@ -17,24 +17,4 @@
   -->
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper namespace="org.apache.streampark.console.system.mapper.RoleMapper">
-    <select id="selectPage" 
resultType="org.apache.streampark.console.system.entity.Role" 
parameterType="org.apache.streampark.console.system.entity.Role">
-        select * from t_role
-        <where>
-            <if test="role.roleName != null and role.roleName != ''">
-                <if test="_databaseId == 'mysql'">
-                    and role_name like concat('%', #{role.roleName},'%')
-                </if>
-                <if test="_databaseId == 'pgsql'">
-                    and role_name like '%' || #{role.roleName} || '%'
-                </if>
-            </if>
-            <if test="role.createTimeFrom != null and role.createTimeFrom 
!=''">
-                and  create_time &gt; #{role.createTimeFrom}
-            </if>
-            <if test="role.createTimeTo!= null and role.createTimeTo !=''">
-                and  create_time &lt; #{role.createTimeTo}
-            </if>
-        </where>
-    </select>
-
 </mapper>
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/system/TeamMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/system/TeamMapper.xml
index 0188161ea..38cb61997 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/system/TeamMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/system/TeamMapper.xml
@@ -17,26 +17,6 @@
   -->
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
 <mapper namespace="org.apache.streampark.console.system.mapper.TeamMapper">
-    <select id="selectPage" 
resultType="org.apache.streampark.console.system.entity.Team" 
parameterType="org.apache.streampark.console.system.entity.Team">
-        select * from t_team
-        <where>
-            <if test="team.teamName != null and team.teamName != ''">
-                <if test="_databaseId == 'mysql'">
-                    and team_name like concat('%', #{team.teamName},'%')
-                </if>
-                <if test="_databaseId == 'pgsql'">
-                    and team_name like '%' || #{team.teamName} || '%'
-                </if>
-            </if>
-            <if test="team.createTimeFrom != null and team.createTimeFrom 
!=''">
-                and create_time &gt; #{team.createTimeFrom}
-            </if>
-            <if test="team.createTimeTo!= null and team.createTimeTo !=''">
-                and create_time &lt; #{team.createTimeTo}
-            </if>
-        </where>
-    </select>
-
     <select id="selectTeamsByUserId" 
resultType="org.apache.streampark.console.system.entity.Team" 
parameterType="org.apache.streampark.console.system.entity.Team">
         select t.* from t_team t
         join t_member m
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/mapper/system/UserMapper.xml
 
b/streampark-console/streampark-console-service/src/main/resources/mapper/system/UserMapper.xml
index 6f311094f..e61d65de2 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/mapper/system/UserMapper.xml
+++ 
b/streampark-console/streampark-console-service/src/main/resources/mapper/system/UserMapper.xml
@@ -102,16 +102,4 @@
         on u.user_id = t.user_id
     </select>
 
-    <update id="clearLastTeamByUserId" parameterType="java.lang.Long">
-        update t_user
-        set last_team_id = null
-        where user_id = #{userId}
-    </update>
-
-    <update id="clearLastTeamByTeamId" parameterType="java.lang.Long">
-        update t_user
-        set last_team_id = null
-        where last_team_id = #{teamId}
-    </update>
-
 </mapper>
diff --git a/streampark-console/streampark-console-webapp/package.json 
b/streampark-console/streampark-console-webapp/package.json
index b1ee23fef..9e3ce9bac 100644
--- a/streampark-console/streampark-console-webapp/package.json
+++ b/streampark-console/streampark-console-webapp/package.json
@@ -8,11 +8,11 @@
   "packageManager": "[email protected]",
   "repository": {
     "type": "git",
-    "url": "git+https://github.com/apache/incubator-streampark.git";
+    "url": "git+https://github.com/apache/streampark.git";
   },
   "license": "Apache-2.0 license",
   "bugs": {
-    "url": "https://github.com/apache/incubator-streampark/issues";
+    "url": "https://github.com/apache/streampark/issues";
   },
   "homepage": "https://streampark.apache.org";,
   "scripts": {

Reply via email to