@@ -104,6 +104,7 @@ public abstract class AbstractSQLConfig implements SQLConfig {
104104 DATABASE_LIST .add (DATABASE_POSTGRESQL );
105105 DATABASE_LIST .add (DATABASE_SQLSERVER );
106106 DATABASE_LIST .add (DATABASE_ORACLE );
107+ DATABASE_LIST .add (DATABASE_DB2 );
107108
108109 RAW_MAP = new HashMap <>();
109110 }
@@ -299,6 +300,13 @@ public boolean isOracle() {
299300 public static boolean isOracle (String db ) {
300301 return DATABASE_ORACLE .equals (db );
301302 }
303+ @ Override
304+ public boolean isDb2 () {
305+ return isDb2 (getSQLDatabase ());
306+ }
307+ public static boolean isDb2 (String db ) {
308+ return DATABASE_DB2 .equals (db );
309+ }
302310
303311 @ Override
304312 public String getQuote () {
@@ -611,7 +619,7 @@ public String getOrderString(boolean hasPrefix) {
611619
612620 String order = StringUtil .getTrimedString (getOrder ());
613621
614- if (getCount () > 0 && (isOracle () || isSQLServer ())) { // Oracle 和 SQL Server 的 OFFSET 必须加 ORDER BY
622+ if (getCount () > 0 && (isOracle () || isSQLServer () || isDb2 ())) { // Oracle, SQL Server, DB2 的 OFFSET 必须加 ORDER BY
615623
616624 // String[] ss = StringUtil.split(order);
617625 if (StringUtil .isEmpty (order , true )) { //SQL Server 子查询内必须指定 OFFSET 才能用 ORDER BY
@@ -1137,7 +1145,7 @@ public String getLimitString() {
11371145 if (count <= 0 || RequestMethod .isHeadMethod (getMethod (), true )) {
11381146 return "" ;
11391147 }
1140- return getLimitString (getPage (), getCount (), isOracle () || isSQLServer ());
1148+ return getLimitString (getPage (), getCount (), isOracle () || isSQLServer () || isDb2 () );
11411149 }
11421150 /**获取限制数量
11431151 * @param limit
0 commit comments