miemie пре 6 година
родитељ
комит
1156c4ba5d

+ 4 - 4
mybatis-plus-annotation/src/main/java/com/baomidou/mybatisplus/annotation/TableField.java

@@ -80,9 +80,9 @@ public @interface TableField {
     boolean select() default true;
 
     /**
-     * 是否保持使用全局的 columnPrefix 以及 columnPrefix 的值
-     * <p> 只生效于 既设置了全局的 columnPrefix 或者 columnSuffix 也设置了上面 {@link #value()} 的值 </p>
-     * <li> 如果是 false , 全局的 columnPrefix 以及 columnSuffix 不生效 </li>
+     * 是否保持使用全局的 Format 的值
+     * <p> 只生效于 既设置了全局的 Format 也设置了上面 {@link #value()} 的值 </p>
+     * <li> 如果是 false , 全局的 Format 不生效 </li>
      */
-    boolean keepGlobalPrefixSuffix() default false;
+    boolean keepGlobalFormat() default false;
 }

+ 3 - 7
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/config/GlobalConfig.java

@@ -122,15 +122,11 @@ public class GlobalConfig implements Serializable {
          */
         private String schema;
         /**
-         * 字段前缀
+         * 字段 format
+         * <li> 例: `%s` </li>
          * <p> 对主键无效 </p>
          */
-        private String columnPrefix;
-        /**
-         * 字段后缀
-         * <p> 对主键无效 </p>
-         */
-        private String columnSuffix;
+        private String columnFormat;
         /**
          * 表名、是否使用下划线命名(默认 true:默认数据库表下划线命名)
          */

+ 3 - 7
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/metadata/TableFieldInfo.java

@@ -174,14 +174,10 @@ public class TableFieldInfo implements Constants {
             /* 开启字段全大写申明 */
             column = column.toUpperCase();
         }
-        String columnPrefix = dbConfig.getColumnPrefix();
-        String columnSuffix = dbConfig.getColumnSuffix();
 
-        if (StringUtils.isNotEmpty(columnPrefix)) {
-            column = columnPrefix + column;
-        }
-        if (StringUtils.isNotEmpty(columnSuffix)) {
-            column += columnSuffix;
+        String columnFormat = dbConfig.getColumnFormat();
+        if (StringUtils.isNotEmpty(columnFormat)) {
+            column = String.format(columnFormat, column);
         }
 
         this.column = column;

+ 5 - 12
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/TableInfoHelper.java

@@ -413,21 +413,14 @@ public class TableInfoHelper {
         }
         String[] columns = columnName.split(StringPool.SEMICOLON);
 
-        String columnPrefix = dbConfig.getColumnPrefix();
-        String columnSuffix = dbConfig.getColumnSuffix();
-        boolean hasPrefix = StringUtils.isNotEmpty(columnPrefix);
-        boolean hasSuffix = StringUtils.isNotEmpty(columnSuffix);
-        boolean keepPs = tableField.keepGlobalPrefixSuffix();
+        String columnFormat = dbConfig.getColumnFormat();
+        boolean hasFormat = StringUtils.isNotEmpty(columnFormat);
+        boolean keepFormat = tableField.keepGlobalFormat();
 
-        if ((hasPrefix || hasSuffix) && (!columnNameFromTableField || keepPs)) {
+        if (hasFormat && (!columnNameFromTableField || keepFormat)) {
             for (int i = 0; i < columns.length; i++) {
                 String column = columns[i];
-                if (hasPrefix) {
-                    column = columnPrefix + column;
-                }
-                if (hasSuffix) {
-                    column += columnSuffix;
-                }
+                column = String.format(columnFormat, column);
                 columns[i] = column;
             }
         }

+ 1 - 2
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/config/MybatisPlusConfig.java

@@ -85,8 +85,7 @@ public class MybatisPlusConfig {
     public GlobalConfig globalConfig() {
         GlobalConfig conf = new GlobalConfig();
         conf.setDbConfig(new GlobalConfig.DbConfig()
-            .setColumnPrefix("`")
-            .setColumnSuffix("`"));
+            .setColumnFormat("`%s`"));
         DefaultSqlInjector logicSqlInjector = new DefaultSqlInjector() {
             /**
              * 注入自定义全局方法

+ 2 - 2
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/entity/MysqlData.java

@@ -31,8 +31,8 @@ public class MysqlData {
     private Long id;
     private Integer order;
     private Integer group;
-    @TableField(strategy = FieldStrategy.NOT_EMPTY)
+    @TableField(value = "test_str", strategy = FieldStrategy.NOT_EMPTY)
     private String testStr;
-    @TableField(value = "lambda_str", keepGlobalPrefixSuffix = true)
+    @TableField(value = "lambda_str", keepGlobalFormat = true)
     private String yaHoStr;
 }