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 数据库"),
|
||||
/**
|
||||
* sinodb
|
||||
*/
|
||||
SINODB("sinodb", "星瑞格数据库"),
|
||||
/**
|
||||
* uxdb
|
||||
*/
|
||||
|
||||
@ -160,6 +160,8 @@ public class DbTypeUtil {
|
||||
return DbType.TDENGINE;
|
||||
} else if (jdbcUrl.contains(":informix")) {
|
||||
return DbType.INFORMIX;
|
||||
}else if (jdbcUrl.contains(":sinodb")) {
|
||||
return DbType.SINODB;
|
||||
} else if (jdbcUrl.contains(":uxdb:")) {
|
||||
return DbType.UXDB;
|
||||
} else if (jdbcUrl.contains(":greenplum:")) {
|
||||
|
||||
@ -138,6 +138,8 @@ public class DialectFactory {
|
||||
return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcessor.SQLSERVER_2005);
|
||||
case INFORMIX:
|
||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.INFORMIX);
|
||||
case SINODB:
|
||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SINODB);
|
||||
case SYBASE:
|
||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE);
|
||||
default:
|
||||
|
||||
@ -156,6 +156,21 @@ public interface LimitOffsetProcessor {
|
||||
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 的处理器
|
||||
* 适合 {@link DbType#FIREBIRD}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user