Bladeren bron

#301代码生成器不能识别SqlServer自增主键的问题

Arker 8 jaren geleden
bovenliggende
commit
cdda771984

+ 3 - 0
src/main/java/com/baomidou/mybatisplus/generator/config/builder/ConfigBuilder.java

@@ -418,6 +418,9 @@ public class ConfigBuilder {
             if ("auto_increment".equals(extra)) {
             if ("auto_increment".equals(extra)) {
                 return true;
                 return true;
             }
             }
+        }else if(QuerySQL.SQL_SERVER == this.querySQL){
+            int isIdentity = results.getInt("isIdentity");
+            return 1==isIdentity;
         }
         }
         return false;
         return false;
     }
     }

+ 2 - 1
src/main/java/com/baomidou/mybatisplus/generator/config/rules/QuerySQL.java

@@ -51,7 +51,8 @@ public enum QuerySQL {
                     + " AND sysobjects.parent_obj = syscolumns.id " + " AND sysindexes.id = syscolumns.id "
                     + " AND sysobjects.parent_obj = syscolumns.id " + " AND sysindexes.id = syscolumns.id "
                     + " AND sysobjects.NAME = sysindexes.NAME AND sysindexkeys.id = syscolumns.id "
                     + " AND sysobjects.NAME = sysindexes.NAME AND sysindexkeys.id = syscolumns.id "
                     + " AND sysindexkeys.indid = sysindexes.indid "
                     + " AND sysindexkeys.indid = sysindexes.indid "
-                    + " AND syscolumns.colid = sysindexkeys.colid AND syscolumns.NAME = B.NAME) as 'KEY'"
+                    + " AND syscolumns.colid = sysindexkeys.colid AND syscolumns.NAME = B.NAME) as 'KEY',"
+                    +"  b.is_identity isIdentity "
                     + " FROM sys.TABLES a " + " INNER JOIN sys.COLUMNS b ON b.object_id = a.object_id "
                     + " FROM sys.TABLES a " + " INNER JOIN sys.COLUMNS b ON b.object_id = a.object_id "
                     + " LEFT JOIN sys.types ON b.user_type_id = sys.types.user_type_id   "
                     + " LEFT JOIN sys.types ON b.user_type_id = sys.types.user_type_id   "
                     + " LEFT JOIN sys.extended_properties c ON c.major_id = b.object_id AND c.minor_id = b.column_id "
                     + " LEFT JOIN sys.extended_properties c ON c.major_id = b.object_id AND c.minor_id = b.column_id "