浏览代码

新增字段 LIKE 查询注入全局配置,默认 true 开启

hubin 7 年之前
父节点
当前提交
87a151856b

+ 4 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/config/GlobalConfig.java

@@ -116,6 +116,10 @@ public class GlobalConfig implements Serializable {
          * 字段名、是否使用下划线命名(默认 true:默认数据库字段下划线命名)
          */
         private boolean columnUnderline = true;
+        /**
+         * String 类型字段 LIKE
+         */
+        private boolean columnLike = true;
         /**
          * 大写命名
          */

+ 9 - 5
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/metadata/TableFieldInfo.java

@@ -132,7 +132,7 @@ public class TableFieldInfo {
         tableInfo.setLogicDelete(this.initLogicDelete(dbConfig, field));
         this.update = tableField.update();
         this.condition = tableField.condition();
-        this.setCondition(dbConfig.getDbType());
+        this.setCondition(dbConfig);
         /*
          * 保存当前字段的填充策略
          */
@@ -154,7 +154,7 @@ public class TableFieldInfo {
         this.el = field.getName();
         this.fieldStrategy = dbConfig.getFieldStrategy();
         this.propertyType = field.getType();
-        this.setCondition(dbConfig.getDbType());
+        this.setCondition(dbConfig);
         tableInfo.setLogicDelete(this.initLogicDelete(dbConfig, field));
     }
 
@@ -277,10 +277,14 @@ public class TableFieldInfo {
         return condition;
     }
 
-    public void setCondition(DbType dbType) {
-        if (StringUtils.isCharSequence(this.propertyType)) {
+    public void setCondition(GlobalConfig.DbConfig dbConfig) {
+        /**
+         * 全局配置开启字段 LIKE 并且为字符串类型字段
+         * 注入 LIKE 查询!!!
+         */
+        if (dbConfig.isColumnLike() && StringUtils.isCharSequence(this.propertyType)) {
             if (null == this.condition || SqlCondition.EQUAL.equals(this.condition)) {
-                this.condition = dbType.getLike();
+                this.condition = dbConfig.getDbType().getLike();
             }
         }
     }