fix: 字段有TableField注解但未指定value值下全局columnFormat未生效问题

This commit is contained in:
miemie 2024-10-28 18:30:58 +08:00
parent bbf2b671b5
commit 736064bca3

View File

@ -15,32 +15,18 @@
*/ */
package com.baomidou.mybatisplus.core.metadata; package com.baomidou.mybatisplus.core.metadata;
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.OrderBy;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.core.config.GlobalConfig; import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.core.handlers.IJsonTypeHandler; import com.baomidou.mybatisplus.core.handlers.IJsonTypeHandler;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.toolkit.MybatisUtils; import com.baomidou.mybatisplus.core.toolkit.MybatisUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.sql.SqlScriptUtils; import com.baomidou.mybatisplus.core.toolkit.sql.SqlScriptUtils;
import lombok.AccessLevel; import lombok.*;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.apache.ibatis.mapping.ResultMapping; import org.apache.ibatis.mapping.ResultMapping;
import org.apache.ibatis.reflection.Reflector; import org.apache.ibatis.reflection.Reflector;
import org.apache.ibatis.session.Configuration; import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.*;
import org.apache.ibatis.type.TypeAliasRegistry;
import org.apache.ibatis.type.TypeHandler;
import org.apache.ibatis.type.TypeHandlerRegistry;
import org.apache.ibatis.type.UnknownTypeHandler;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.Map; import java.util.Map;
@ -273,12 +259,16 @@ public class TableFieldInfo implements Constants {
/* 开启字段全大写申明 */ /* 开启字段全大写申明 */
column = column.toUpperCase(); column = column.toUpperCase();
} }
String columnFormat = dbConfig.getColumnFormat();
if (StringUtils.isNotBlank(columnFormat)) {
column = String.format(columnFormat, column);
}
} else {
String columnFormat = dbConfig.getColumnFormat();
if (StringUtils.isNotBlank(columnFormat) && tableField.keepGlobalFormat()) {
column = String.format(columnFormat, column);
}
} }
String columnFormat = dbConfig.getColumnFormat();
if (StringUtils.isNotBlank(columnFormat) && tableField.keepGlobalFormat()) {
column = String.format(columnFormat, column);
}
this.column = column; this.column = column;
this.sqlSelect = column; this.sqlSelect = column;
if (needAs) { if (needAs) {
@ -384,7 +374,7 @@ public class TableFieldInfo implements Constants {
* 排序初始化 * 排序初始化
* *
* @param tableInfo 表信息 * @param tableInfo 表信息
* @param orderBy 排序注解 * @param orderBy 排序注解
*/ */
private void initOrderBy(TableInfo tableInfo, OrderBy orderBy) { private void initOrderBy(TableInfo tableInfo, OrderBy orderBy) {
if (null != orderBy) { if (null != orderBy) {
@ -401,7 +391,7 @@ public class TableFieldInfo implements Constants {
* 逻辑删除初始化 * 逻辑删除初始化
* *
* @param globalConfig 全局配置 * @param globalConfig 全局配置
* @param field 字段属性对象 * @param field 字段属性对象
*/ */
private void initLogicDelete(GlobalConfig globalConfig, Field field, boolean existTableLogic) { private void initLogicDelete(GlobalConfig globalConfig, Field field, boolean existTableLogic) {
GlobalConfig.DbConfig dbConfig = globalConfig.getDbConfig(); GlobalConfig.DbConfig dbConfig = globalConfig.getDbConfig();