فهرست منبع

修复生成分页SQL,未解析引号

Signed-off-by: AE86 <836391306@qq.com>
AE86 2 سال پیش
والد
کامیت
38cfbfba77

+ 15 - 15
dbsyncer-connector/src/main/java/org/dbsyncer/connector/database/AbstractDatabaseConnector.java

@@ -397,6 +397,21 @@ public abstract class AbstractDatabaseConnector extends AbstractConnector implem
         return sql.toString();
     }
 
+    /**
+     * 获取架构名
+     *
+     * @param config
+     * @param quotation
+     * @return
+     */
+    protected String getSchema(DatabaseConfig config, String quotation) {
+        StringBuilder schema = new StringBuilder();
+        if (StringUtil.isNotBlank(config.getSchema())) {
+            schema.append(quotation).append(config.getSchema()).append(quotation).append(".");
+        }
+        return schema.toString();
+    }
+
     /**
      * 获取表列表
      *
@@ -507,21 +522,6 @@ public abstract class AbstractDatabaseConnector extends AbstractConnector implem
         return "";
     }
 
-    /**
-     * 获取架构名
-     *
-     * @param config
-     * @param quotation
-     * @return
-     */
-    private String getSchema(DatabaseConfig config, String quotation) {
-        StringBuilder schema = new StringBuilder();
-        if (StringUtil.isNotBlank(config.getSchema())) {
-            schema.append(quotation).append(config.getSchema()).append(quotation).append(".");
-        }
-        return schema.toString();
-    }
-
     /**
      * 返回表主键
      *

+ 1 - 1
dbsyncer-connector/src/main/java/org/dbsyncer/connector/database/sqlbuilder/SqlBuilderQuery.java

@@ -20,7 +20,7 @@ public class SqlBuilderQuery extends AbstractSqlBuilder {
     public String buildSql(SqlBuilderConfig config) {
         // 分页语句
         Database database = config.getDatabase();
-        PageSql pageSql = new PageSql(config, buildQuerySql(config), config.getPrimaryKeys());
+        PageSql pageSql = new PageSql(config, buildQuerySql(config), config.getQuotation(), config.getPrimaryKeys());
         return database.getPageSql(pageSql);
     }
 

+ 1 - 1
dbsyncer-connector/src/main/java/org/dbsyncer/connector/database/sqlbuilder/SqlBuilderQueryCursor.java

@@ -15,7 +15,7 @@ public class SqlBuilderQueryCursor extends SqlBuilderQuery {
     public String buildSql(SqlBuilderConfig config) {
         // 分页语句
         Database database = config.getDatabase();
-        PageSql pageSql = new PageSql(config, buildQuerySql(config), config.getPrimaryKeys());
+        PageSql pageSql = new PageSql(config, buildQuerySql(config), config.getQuotation(), config.getPrimaryKeys());
         return database.getPageCursorSql(pageSql);
     }
 

+ 2 - 7
dbsyncer-connector/src/main/java/org/dbsyncer/connector/model/PageSql.java

@@ -14,15 +14,10 @@ public class PageSql {
 
     private List<String> primaryKeys;
 
-    public PageSql(String querySql, String quotation, List<String> primaryKeys) {
-        this.querySql = querySql;
-        this.quotation = quotation;
-        this.primaryKeys = primaryKeys;
-    }
-
-    public PageSql(SqlBuilderConfig sqlBuilderConfig, String querySql, List<String> primaryKeys) {
+    public PageSql(SqlBuilderConfig sqlBuilderConfig, String querySql, String quotation, List<String> primaryKeys) {
         this.sqlBuilderConfig = sqlBuilderConfig;
         this.querySql = querySql;
+        this.quotation = quotation;
         this.primaryKeys = primaryKeys;
     }
 

+ 1 - 1
dbsyncer-connector/src/main/java/org/dbsyncer/connector/sql/AbstractDQLConnector.java

@@ -88,7 +88,7 @@ public abstract class AbstractDQLConnector extends AbstractDatabaseConnector {
             querySql += queryFilterSql;
         }
         String quotation = buildSqlWithQuotation();
-        map.put(SqlBuilderEnum.QUERY.getName(), getPageSql(new PageSql(querySql, quotation, primaryKeys)));
+        map.put(SqlBuilderEnum.QUERY.getName(), getPageSql(new PageSql(null, querySql, quotation, primaryKeys)));
 
         // 获取查询总数SQL
         StringBuilder queryCount = new StringBuilder();