Przeglądaj źródła

支持达梦数据库

hubin 6 lat temu
rodzic
commit
93946ac249

+ 4 - 0
mybatis-plus-annotation/src/main/java/com/baomidou/mybatisplus/annotation/DbType.java

@@ -67,6 +67,10 @@ public enum DbType {
      * SQLSERVER
      */
     SQL_SERVER("sqlserver", "%s LIKE '%%'+#{%s}+'%%'", "SQLServer数据库"),
+    /**
+     * DM
+     */
+    DM("dm", null, "达梦数据库"),
     /**
      * UNKONWN DB
      */

+ 20 - 5
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/DialectFactory.java

@@ -15,16 +15,28 @@
  */
 package com.baomidou.mybatisplus.extension.plugins.pagination;
 
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.ibatis.session.RowBounds;
+
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Assert;
 import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.*;
-import org.apache.ibatis.session.RowBounds;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.DB2Dialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.DmDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.H2Dialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.HSQLDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.IDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.MariaDBDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.MySqlDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.OracleDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.PostgreDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.SQLServer2005Dialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.SQLServerDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.SQLiteDialect;
 
 
 /**
@@ -185,6 +197,9 @@ public class DialectFactory {
         if (dbType == DbType.SQLITE) {
             return new SQLiteDialect();
         }
+        if (dbType == DbType.DM) {
+            return new DmDialect();
+        }
         throw ExceptionUtils.mpe("The Database's Not Supported! DBType:" + dbType);
     }
 }

+ 28 - 0
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/DmDialect.java

@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2011-2014, hubin (jobob@qq.com).
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.baomidou.mybatisplus.extension.plugins.pagination.dialects;
+
+/**
+ * <p>
+ * 达梦数据库完全继承 Oracle
+ * </p>
+ *
+ * @author hubin
+ * @since 2018-08-21
+ */
+public class DmDialect extends OracleDialect {
+
+}

+ 5 - 2
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/toolkit/JdbcUtils.java

@@ -15,11 +15,12 @@
  */
 package com.baomidou.mybatisplus.extension.toolkit;
 
+import org.apache.ibatis.logging.Log;
+import org.apache.ibatis.logging.LogFactory;
+
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.toolkit.Assert;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import org.apache.ibatis.logging.Log;
-import org.apache.ibatis.logging.LogFactory;
 
 /**
  * <p>
@@ -64,6 +65,8 @@ public class JdbcUtils {
             return DbType.SQLITE;
         } else if (jdbcUrl.startsWith("jdbc:h2:") || jdbcUrl.startsWith("jdbc:log4jdbc:h2:")) {
             return DbType.H2;
+        } else if (jdbcUrl.startsWith("jdbc:dm:") || jdbcUrl.startsWith("jdbc:log4jdbc:dm:")) {
+            return DbType.ORACLE;
         } else {
             logger.warn("The jdbcUrl is " + jdbcUrl + ", Mybatis Plus Cannot Read Database type or The Database's Not Supported!");
             return DbType.OTHER;