瀏覽代碼

支持全局表前缀配置

hubin 7 年之前
父節點
當前提交
cd9f8e3e97

+ 15 - 0
mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/spring/boot/starter/GlobalConfig.java

@@ -35,6 +35,10 @@ public class GlobalConfig {
      * 主键类型
      */
     private Integer idType;
+    /**
+     * 表前缀
+     */
+    private String tablePrefix;
     /**
      * 表名、字段名、是否使用下划线命名
      */
@@ -91,6 +95,14 @@ public class GlobalConfig {
         this.idType = idType;
     }
 
+    public String getTablePrefix() {
+        return tablePrefix;
+    }
+
+    public void setTablePrefix(String tablePrefix) {
+        this.tablePrefix = tablePrefix;
+    }
+
     public Boolean getDbColumnUnderline() {
         return dbColumnUnderline;
     }
@@ -202,6 +214,9 @@ public class GlobalConfig {
         if (StringUtils.checkValNotNull(this.getIdType())) {
             globalConfiguration.setIdType(this.getIdType());
         }
+        if (StringUtils.checkValNotNull(this.getTablePrefix())) {
+            globalConfiguration.setTablePrefix(this.getTablePrefix());
+        }
         if (null != this.getDbColumnUnderline()) {
             globalConfiguration.setDbColumnUnderline(this.getDbColumnUnderline());
         }

+ 12 - 0
mybatis-plus-support/src/main/java/com/baomidou/mybatisplus/entity/GlobalConfiguration.java

@@ -52,6 +52,10 @@ public class GlobalConfiguration implements Serializable {
      * 逻辑未删除全局值
      */
     private String logicNotDeleteValue = null;
+    /**
+     * 表前缀
+     */
+    private String tablePrefix;
     /**
      * 数据库类型
      */
@@ -235,6 +239,14 @@ public class GlobalConfiguration implements Serializable {
         this.isCapitalMode = isCapitalMode;
     }
 
+    public String getTablePrefix() {
+        return tablePrefix;
+    }
+
+    public void setTablePrefix(String tablePrefix) {
+        this.tablePrefix = tablePrefix;
+    }
+
     public String getIdentifierQuote() {
         if (null == identifierQuote) {
             return dbType.getQuote();

+ 12 - 8
mybatis-plus-support/src/main/java/com/baomidou/mybatisplus/toolkit/TableInfoHelper.java

@@ -134,6 +134,10 @@ public class TableInfoHelper {
                 // 首字母小写
                 tableName = StringUtils.firstToLowerCase(tableName);
             }
+            // 存在表前缀
+            if (null != globalConfig.getTablePrefix()) {
+                tableName = globalConfig.getTablePrefix() + tableName;
+            }
         }
         tableInfo.setTableName(tableName);
 
@@ -152,9 +156,9 @@ public class TableInfoHelper {
         boolean isReadPK = false;
         boolean existTableId = existTableId(list);
         for (Field field : list) {
-           /*
-            * 主键ID 初始化
-            */
+            /*
+             * 主键ID 初始化
+             */
             if (!isReadPK) {
                 if (existTableId) {
                     isReadPK = initTableId(globalConfig, tableInfo, field, clazz);
@@ -179,17 +183,17 @@ public class TableInfoHelper {
             fieldList.add(new TableFieldInfo(globalConfig, tableInfo, field));
         }
 
-		/* 字段列表 */
+        /* 字段列表 */
         tableInfo.setFieldList(globalConfig, fieldList);
         /*
          * 未发现主键注解,提示警告信息
-		 */
+         */
         if (StringUtils.isEmpty(tableInfo.getKeyColumn())) {
             logger.warn(String.format("Warn: Could not find @TableId in Class: %s.", clazz.getName()));
         }
         /*
          * 注入
-		 */
+         */
         tableInfoCache.put(clazz.getName(), tableInfo);
         return tableInfo;
     }
@@ -230,7 +234,7 @@ public class TableInfoHelper {
             if (StringUtils.isEmpty(tableInfo.getKeyColumn())) {
                 /*
                  * 主键策略( 注解 > 全局 > 默认 )
-				 */
+                 */
                 // 设置 Sequence 其他策略无效
                 if (IdType.NONE != tableId.type()) {
                     tableInfo.setIdType(tableId.type());
@@ -326,7 +330,7 @@ public class TableInfoHelper {
             }
             /*
              * el 语法支持,可以传入多个参数以逗号分开
-			 */
+             */
             String el = field.getName();
             if (StringUtils.isNotEmpty(tableField.el())) {
                 el = tableField.el();