LimitOffsetProcesser -> LimitOffsetProcessor

This commit is contained in:
庄佳彬 2023-05-12 11:28:48 +08:00
parent 404148cdff
commit 2be8dc0c39
4 changed files with 29 additions and 29 deletions

View File

@ -104,12 +104,12 @@ public class DialectFactory {
case CUBRID: case CUBRID:
case GOLDILOCKS: case GOLDILOCKS:
case CSIIDB: case CSIIDB:
return new CommonsDialectImpl(KeywordWrap.BACKQUOTE, LimitOffsetProcesser.MYSQL); return new CommonsDialectImpl(KeywordWrap.BACKQUOTE, LimitOffsetProcessor.MYSQL);
case ORACLE: case ORACLE:
return new OracleDialect(LimitOffsetProcesser.ORACLE); return new OracleDialect(LimitOffsetProcessor.ORACLE);
case DM: case DM:
case GAUSS: case GAUSS:
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.ORACLE); return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.ORACLE);
case POSTGRE_SQL: case POSTGRE_SQL:
case SQLITE: case SQLITE:
case HSQL: case HSQL:
@ -123,21 +123,21 @@ public class DialectFactory {
case OPENGAUSS: case OPENGAUSS:
case TDENGINE: case TDENGINE:
case UXDB: case UXDB:
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.POSTGRESQL); return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.POSTGRESQL);
case ORACLE_12C: case ORACLE_12C:
return new OracleDialect(LimitOffsetProcesser.DERBY); return new OracleDialect(LimitOffsetProcessor.DERBY);
case FIREBIRD: case FIREBIRD:
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.DERBY); return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.DERBY);
case SQLSERVER: case SQLSERVER:
return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcesser.DERBY); return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcessor.DERBY);
case SQLSERVER_2005: case SQLSERVER_2005:
return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcesser.DB2); return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcessor.DB2);
case INFORMIX: case INFORMIX:
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.INFORMIX); return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.INFORMIX);
case DB2: case DB2:
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.DB2); return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.DB2);
case SYBASE: case SYBASE:
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.SYBASE); return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE);
default: default:
return new CommonsDialectImpl(); return new CommonsDialectImpl();
} }

View File

@ -18,7 +18,7 @@ package com.mybatisflex.core.dialect.impl;
import com.mybatisflex.core.FlexGlobalConfig; import com.mybatisflex.core.FlexGlobalConfig;
import com.mybatisflex.core.dialect.IDialect; import com.mybatisflex.core.dialect.IDialect;
import com.mybatisflex.core.dialect.KeywordWrap; import com.mybatisflex.core.dialect.KeywordWrap;
import com.mybatisflex.core.dialect.LimitOffsetProcesser; import com.mybatisflex.core.dialect.LimitOffsetProcessor;
import com.mybatisflex.core.exception.FlexExceptions; import com.mybatisflex.core.exception.FlexExceptions;
import com.mybatisflex.core.query.*; import com.mybatisflex.core.query.*;
import com.mybatisflex.core.row.Row; import com.mybatisflex.core.row.Row;
@ -40,18 +40,18 @@ import java.util.StringJoiner;
public class CommonsDialectImpl implements IDialect { public class CommonsDialectImpl implements IDialect {
protected KeywordWrap keywordWrap = KeywordWrap.BACKQUOTE; protected KeywordWrap keywordWrap = KeywordWrap.BACKQUOTE;
private LimitOffsetProcesser limitOffsetProcesser = LimitOffsetProcesser.MYSQL; private LimitOffsetProcessor limitOffsetProcessor = LimitOffsetProcessor.MYSQL;
public CommonsDialectImpl() { public CommonsDialectImpl() {
} }
public CommonsDialectImpl(LimitOffsetProcesser limitOffsetProcesser) { public CommonsDialectImpl(LimitOffsetProcessor limitOffsetProcessor) {
this.limitOffsetProcesser = limitOffsetProcesser; this.limitOffsetProcessor = limitOffsetProcessor;
} }
public CommonsDialectImpl(KeywordWrap keywordWrap, LimitOffsetProcesser limitOffsetProcesser) { public CommonsDialectImpl(KeywordWrap keywordWrap, LimitOffsetProcessor limitOffsetProcessor) {
this.keywordWrap = keywordWrap; this.keywordWrap = keywordWrap;
this.limitOffsetProcesser = limitOffsetProcesser; this.limitOffsetProcessor = limitOffsetProcessor;
} }
@Override @Override
@ -827,7 +827,7 @@ public class CommonsDialectImpl implements IDialect {
* 构建 limit offset 的参数 * 构建 limit offset 的参数
*/ */
protected StringBuilder buildLimitOffsetSql(StringBuilder sqlBuilder, QueryWrapper queryWrapper, Integer limitRows, Integer limitOffset) { protected StringBuilder buildLimitOffsetSql(StringBuilder sqlBuilder, QueryWrapper queryWrapper, Integer limitRows, Integer limitOffset) {
return limitOffsetProcesser.process(sqlBuilder, queryWrapper, limitRows, limitOffset); return limitOffsetProcessor.process(sqlBuilder, queryWrapper, limitRows, limitOffset);
} }

View File

@ -16,7 +16,7 @@
package com.mybatisflex.core.dialect.impl; package com.mybatisflex.core.dialect.impl;
import com.mybatisflex.core.dialect.KeywordWrap; import com.mybatisflex.core.dialect.KeywordWrap;
import com.mybatisflex.core.dialect.LimitOffsetProcesser; import com.mybatisflex.core.dialect.LimitOffsetProcessor;
import com.mybatisflex.core.util.CollectionUtil; import com.mybatisflex.core.util.CollectionUtil;
import com.mybatisflex.core.util.StringUtil; import com.mybatisflex.core.util.StringUtil;
@ -55,8 +55,8 @@ public class OracleDialect extends CommonsDialectImpl {
"VALIDATE", "VALUES", "VARCHAR", "VARCHAR2" "VALIDATE", "VALUES", "VARCHAR", "VARCHAR2"
); );
public OracleDialect(LimitOffsetProcesser limitOffsetProcesser) { public OracleDialect(LimitOffsetProcessor limitOffsetProcessor) {
super(KeywordWrap.NONE, limitOffsetProcesser); super(KeywordWrap.NONE, limitOffsetProcessor);
} }
public boolean isCaseSensitive() { public boolean isCaseSensitive() {

View File

@ -3,7 +3,7 @@ package com.mybatisflex.coretest;
import com.mybatisflex.core.dialect.impl.CommonsDialectImpl; import com.mybatisflex.core.dialect.impl.CommonsDialectImpl;
import com.mybatisflex.core.dialect.IDialect; import com.mybatisflex.core.dialect.IDialect;
import com.mybatisflex.core.dialect.KeywordWrap; import com.mybatisflex.core.dialect.KeywordWrap;
import com.mybatisflex.core.dialect.LimitOffsetProcesser; import com.mybatisflex.core.dialect.LimitOffsetProcessor;
import com.mybatisflex.core.query.CPI; import com.mybatisflex.core.query.CPI;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.table.TableInfo; import com.mybatisflex.core.table.TableInfo;
@ -49,7 +49,7 @@ public class AccountSqlTester {
.from(ACCOUNT.as("a"), ARTICLE.as("b")) .from(ACCOUNT.as("a"), ARTICLE.as("b"))
.where(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID)); .where(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID));
IDialect dialect = new CommonsDialectImpl(KeywordWrap.NONE, LimitOffsetProcesser.MYSQL); IDialect dialect = new CommonsDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.MYSQL);
String sql = dialect.forSelectListByQuery(query); String sql = dialect.forSelectListByQuery(query);
System.out.println(sql); System.out.println(sql);
} }
@ -321,28 +321,28 @@ public class AccountSqlTester {
String sql1 = dialect1.buildSelectSql(queryWrapper); String sql1 = dialect1.buildSelectSql(queryWrapper);
System.out.println(sql1); System.out.println(sql1);
IDialect dialect2 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.ORACLE); IDialect dialect2 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.ORACLE);
String sql2 = dialect2.buildSelectSql(queryWrapper); String sql2 = dialect2.buildSelectSql(queryWrapper);
System.out.println(sql2); System.out.println(sql2);
IDialect dialect3 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.DB2); IDialect dialect3 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.DB2);
String sql3 = dialect3.buildSelectSql(queryWrapper); String sql3 = dialect3.buildSelectSql(queryWrapper);
System.out.println(sql3); System.out.println(sql3);
IDialect dialect4 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.POSTGRESQL); IDialect dialect4 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.POSTGRESQL);
String sql4 = dialect4.buildSelectSql(queryWrapper); String sql4 = dialect4.buildSelectSql(queryWrapper);
System.out.println(sql4); System.out.println(sql4);
IDialect dialect5 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.INFORMIX); IDialect dialect5 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.INFORMIX);
String sql5 = dialect5.buildSelectSql(queryWrapper); String sql5 = dialect5.buildSelectSql(queryWrapper);
System.out.println(sql5); System.out.println(sql5);
IDialect dialect6 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.SYBASE); IDialect dialect6 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE);
String sql6 = dialect6.buildSelectSql(queryWrapper); String sql6 = dialect6.buildSelectSql(queryWrapper);
System.out.println(sql6); System.out.println(sql6);
IDialect dialect7 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.FIREBIRD); IDialect dialect7 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.FIREBIRD);
String sql7 = dialect7.buildSelectSql(queryWrapper); String sql7 = dialect7.buildSelectSql(queryWrapper);
System.out.println(sql7); System.out.println(sql7);
} }