根据实体类的属性获取表的字段。 ---spring boot +mybatis plus

注意:前提是实体类有注解 @TableName,@TableField

@TableName(value = "JX_STUDENT")
public class JxStudent implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField("t_name")
    private String TName;

    @TableField("t_class")
    private String TClass;
    
    ...........
    ...........
}

代码:

public class EntityUtils {

    public static String getColumnName(Class<?> entityClass, String propertyName) {
        try {
            Field field = entityClass.getDeclaredField(propertyName);
            TableField tableField = field.getAnnotation(TableField.class);
            if (tableField != null && !tableField.value().isEmpty()) {
                return tableField.value();
            }
            // 如果没有指定@TableField的value,则默认使用属性名(或根据全局配置调整)
            return propertyName; // 或者你可以根据命名策略来调整这里的返回值
        } catch (NoSuchFieldException e) {
            throw new IllegalArgumentException("Property " + propertyName + " not found in entity " + entityClass.getName());
        }
    }
}

使用:

String columnName = EntityUtils.getColumnName(JxStudent.class,TName);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值