浏览代码

!115 增加 Oscar(神通数据库) 分页支持
Merge pull request !115 from whli/3.0

青苗 5 年之前
父节点
当前提交
f25b062bcf

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

@@ -106,6 +106,11 @@ public enum DbType {
      */
     GBASE("gbase", "南大通用数据库"),
 
+    /**
+     * Oscar
+     */
+    OSCAR("oscar", "神通数据库"),
+
     /**
      * UNKONWN DB
      */

+ 1 - 1
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/DialectRegistry.java

@@ -49,7 +49,7 @@ public class DialectRegistry {
         dialect_enum_map.put(DbType.PHOENIX, new PhoenixDialect());
         dialect_enum_map.put(DbType.GAUSS, new GaussDialect());
         dialect_enum_map.put(DbType.CLICKHOUSE, new ClickhouseDialect());
-        dialect_enum_map.put(DbType.GBASE, new GBaseDialect());
+        dialect_enum_map.put(DbType.OSCAR, new OscarDialect());
     }
 
     public IDialect getDialect(DbType dbType) {

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

@@ -0,0 +1,20 @@
+package com.baomidou.mybatisplus.extension.plugins.pagination.dialects;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.DialectModel;
+
+/**
+ * 神通数据分页方言
+ *
+ * @author wangheli
+ * @version 1.0.0
+ * @since 2020/7/25 9:13
+ */
+public class OscarDialect implements IDialect{
+
+    @Override
+    public DialectModel buildPaginationSql(String originalSql, long offset, long limit) {
+        String sql = originalSql + " LIMIT " + FIRST_MARK + " OFFSET " + SECOND_MARK;
+        return new DialectModel(sql, offset, limit).setConsumerChain();
+    }
+
+}

+ 2 - 2
mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/test/plugins/pagination/dialects/DialectRegistryTest.java

@@ -1,7 +1,6 @@
-package com.baomidou.mybatisplus.test.plugins.pagination.dialects;
+package com.baomidou.mybatisplus.extension.plugins.pagination.dialects;
 
 import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.*;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
@@ -28,6 +27,7 @@ class DialectRegistryTest {
         Assertions.assertEquals(dialectRegistry.getDialect(DbType.PHOENIX).getClass(), PhoenixDialect.class);
         Assertions.assertEquals(dialectRegistry.getDialect(DbType.GAUSS).getClass(), GaussDialect.class);
         Assertions.assertEquals(dialectRegistry.getDialect(DbType.CLICKHOUSE).getClass(), ClickhouseDialect.class);
+        Assertions.assertEquals(dialectRegistry.getDialect(DbType.OSCAR).getClass(), OscarDialect.class);
         Assertions.assertNull(dialectRegistry.getDialect(DbType.OTHER));
     }