Browse Source

Merge pull request #996 from wltj920/MSSQL-GEN-FIX

修复SQL Server数据库在大小写敏感的情况下,不能自动生成代码的BUG
qmdx 6 years ago
parent
commit
a3372339cc

+ 7 - 7
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/querys/SqlServerQuery.java

@@ -46,21 +46,21 @@ public class SqlServerQuery extends AbstractDbQuery {
 
     @Override
     public String tableFieldsSql() {
-        return "SELECT  cast(a.NAME AS VARCHAR(500)) AS TABLE_NAME,cast(b.NAME AS VARCHAR(500)) AS COLUMN_NAME, "
-            + "cast(c.VALUE AS VARCHAR(500)) AS COMMENTS,cast(sys.types.NAME AS VARCHAR (500)) AS DATA_TYPE,"
+        return "SELECT  cast(a.name AS VARCHAR(500)) AS TABLE_NAME,cast(b.name AS VARCHAR(500)) AS COLUMN_NAME, "
+            + "cast(c.VALUE AS VARCHAR(500)) AS COMMENTS,cast(sys.types.name AS VARCHAR (500)) AS DATA_TYPE,"
             + "(" + " SELECT CASE count(1) WHEN 1 then 'PRI' ELSE '' END"
             + " FROM syscolumns,sysobjects,sysindexes,sysindexkeys,systypes "
-            + " WHERE syscolumns.xusertype = systypes.xusertype AND syscolumns.id = object_id (A.NAME) AND sysobjects.xtype = 'PK'"
+            + " WHERE syscolumns.xusertype = systypes.xusertype AND syscolumns.id = object_id (a.name) AND sysobjects.xtype = 'PK'"
             + " 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 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 ( select name,object_id from sys.tables UNION all select name,object_id from sys.views ) a "
-            + " INNER JOIN sys.COLUMNS b ON b.object_id = a.object_id "
+            + " 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.extended_properties c ON c.major_id = b.object_id AND c.minor_id = b.column_id "
-            + " WHERE a.NAME = '%s' and sys.types.NAME !='sysname' ";
+            + " WHERE a.name = '%s' and sys.types.name !='sysname' ";
     }
 
     @Override