فهرست منبع

同步生成代码.

nieqiurong 4 هفته پیش
والد
کامیت
81165f567e

+ 6 - 0
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/ConstVal.java

@@ -91,4 +91,10 @@ public interface ConstVal {
      * @see com.baomidou.mybatisplus.core.metadata.TableInfoHelper.DEFAULT_ID_NAME
      */
     String DEFAULT_ID_NAME = "id";
+
+    /**
+     * 主键
+     * @since 3.5.12
+     */
+    String PRIMARY = "PRIMARY";
 }

+ 2 - 4
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/index/AbstractMapperMethodHandler.java

@@ -16,6 +16,7 @@
 package com.baomidou.mybatisplus.generator.index;
 
 import com.baomidou.mybatisplus.generator.IGenerateMapperMethodHandler;
+import com.baomidou.mybatisplus.generator.config.ConstVal;
 
 /**
  * @author nieqiurong
@@ -78,10 +79,7 @@ public abstract class AbstractMapperMethodHandler implements IGenerateMapperMeth
      * @since 3.5.12
      */
     public boolean isPrimaryKey(String indexName) {
-        // 有些数据库用的PRIMARY_KEY_7
-        String idxTemp = indexName.toUpperCase();
-        return "PRIMARY".equals(idxTemp)
-            || indexName.startsWith("PRIMARY");
+        return indexName.toUpperCase().startsWith(ConstVal.PRIMARY);
     }
 
 }

+ 18 - 0
mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/index/MapperMethodHandlerTest.java

@@ -0,0 +1,18 @@
+package com.baomidou.mybatisplus.generator.index;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+public class MapperMethodHandlerTest {
+
+    @Test
+    void testIsPrimaryKey() {
+        var method = new DefaultGenerateMapperMethodHandler();
+        Assertions.assertTrue(method.isPrimaryKey("PRIMARY"));
+        Assertions.assertTrue(method.isPrimaryKey("primary"));
+        Assertions.assertTrue(method.isPrimaryKey("PRIMARY_KEY_1"));
+        Assertions.assertTrue(method.isPrimaryKey("primary_key_1"));
+        Assertions.assertFalse(method.isPrimaryKey("id_idx"));
+    }
+
+}