mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 01:28:24 +08:00
commit
677eabdbe5
@ -163,6 +163,10 @@ public enum DbType {
|
|||||||
* Informix
|
* Informix
|
||||||
*/
|
*/
|
||||||
INFORMIX("informix", "Informix 数据库"),
|
INFORMIX("informix", "Informix 数据库"),
|
||||||
|
/**
|
||||||
|
* sinodb
|
||||||
|
*/
|
||||||
|
SINODB("sinodb", "星瑞格数据库"),
|
||||||
/**
|
/**
|
||||||
* uxdb
|
* uxdb
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -160,6 +160,8 @@ public class DbTypeUtil {
|
|||||||
return DbType.TDENGINE;
|
return DbType.TDENGINE;
|
||||||
} else if (jdbcUrl.contains(":informix")) {
|
} else if (jdbcUrl.contains(":informix")) {
|
||||||
return DbType.INFORMIX;
|
return DbType.INFORMIX;
|
||||||
|
}else if (jdbcUrl.contains(":sinodb")) {
|
||||||
|
return DbType.SINODB;
|
||||||
} else if (jdbcUrl.contains(":uxdb:")) {
|
} else if (jdbcUrl.contains(":uxdb:")) {
|
||||||
return DbType.UXDB;
|
return DbType.UXDB;
|
||||||
} else if (jdbcUrl.contains(":greenplum:")) {
|
} else if (jdbcUrl.contains(":greenplum:")) {
|
||||||
|
|||||||
@ -138,6 +138,8 @@ public class DialectFactory {
|
|||||||
return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcessor.SQLSERVER_2005);
|
return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcessor.SQLSERVER_2005);
|
||||||
case INFORMIX:
|
case INFORMIX:
|
||||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.INFORMIX);
|
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.INFORMIX);
|
||||||
|
case SINODB:
|
||||||
|
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SINODB);
|
||||||
case SYBASE:
|
case SYBASE:
|
||||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE);
|
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE);
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -156,6 +156,21 @@ public interface LimitOffsetProcessor {
|
|||||||
return sql;
|
return sql;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SINODB 的处理器
|
||||||
|
* 适合 {@link DbType#INFORMIX}
|
||||||
|
*/
|
||||||
|
LimitOffsetProcessor SINODB = (dialect, sql, queryWrapper, limitRows, limitOffset) -> {
|
||||||
|
if (limitRows != null && limitOffset != null) {
|
||||||
|
// SELECT SKIP 2 FIRST 1 * FROM
|
||||||
|
sql.insert(6, SKIP + limitOffset + FIRST + limitRows);
|
||||||
|
} else if (limitRows != null) {
|
||||||
|
sql.insert(6, FIRST + limitRows);
|
||||||
|
}
|
||||||
|
return sql;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Firebird 的处理器
|
* Firebird 的处理器
|
||||||
* 适合 {@link DbType#FIREBIRD}
|
* 适合 {@link DbType#FIREBIRD}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user