iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java如何获取@TableField,@TableName注解的值
  • 819
分享到

Java如何获取@TableField,@TableName注解的值

2024-04-02 19:04:59 819人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录如何获取@TableField,@TableName注解的值操作方式小结一下@TableName和@TableId爆红加入pom依赖如何获取@TableField,@TableN

如何获取@TableField,@TableName注解的值

总觉得写博客要形成自己的风格才行,不能像记流水账一样记录,比如文章有开头,过程,结尾,总结。虽说文章的好坏,跟排版无关,但是至少看得人看的舒服。所以说,要有自己的风格、比如,文章是为了记录什么,解决什么,学到了什么,总结之后给别人帮助。这才是挺有意思的一件事。

不多说,上菜。

有这么一个需求,程序中修改资料,或者代码里面需要修改到表的时候,不想通过多张日志表去记录说修改了什么,那么我定义一张表,存储表名,表字段,再存储修改的值这些。虽然说后期如果有需求要还原数据比较麻烦,但是统一处理了数据,也不会需要定义那么多张表。

操作方式

定义一个实体类

@TableName("uc_cust_lock")
public class CustLock {
        
    @TableId
    @TableField("cust_lock_id")
    private String custLockId;
 
        
    @TableField("broker_user_id")
    private String brokerUserId;
 
    
        
    @TableField("org_id")
    private String orgId;
    // get,set...省略
}

获取类的信息

// 引入的jar包
// import com.baomidou.mybatisplus.annotation.TableField;
// import com.baomidou.mybatisplus.annotation.TableId;
// import com.baomidou.mybatisplus.annotation.TableName;
// import java.lang.reflect.Field;
 
private static void getProxyPojoValue(Object object, Set<String> key1){
        String id = null;
        // 返回参数
        HashMap<String,Object> hashMap = new HashMap<>(16);
        for (String s : key1) {
            Field[] fields = object.getClass().getDeclaredFields();
            for (Field field : fields) {
                field.setAccessible(true);
 
                // 获取表名
                TableName table = object.getClass().getAnnotation(TableName.class);
                if (table != null) {
                    String tableName = table.value();
                    hashMap.putIfAbsent("tableName", tableName);
                }
                // 获取主键id
                if (id == null) {
                    boolean isIdField = field.isAnnotationPresent(TableId.class);
                    if (isIdField) {
                        TableField tableField = field.getAnnotation(TableField.class);
                        if (s.toLowerCase().equals(field.getName().toLowerCase())) {
                            String tableId = tableField.value();
                            hashMap.put(s,tableId);
                            id = tableId;
                        }
                    }
                }
 
                // 获取字段的值
                boolean isTableField = field.isAnnotationPresent(TableField.class);
                if (isTableField) {
                    TableField tableField = field.getAnnotation(TableField.class);
                    if (s.toLowerCase().equals(field.getName().toLowerCase())) {
                        String fieldValue = tableField.value();
                        hashMap.put(s,fieldValue);
                    }
                }
            }
        }
        System.out.println(hashMap);
    }

Main方法执行

public static void main(String[] args) throws IllegalAccessException {
        Set<String> key1= new HashSet<>();
        // 定义修改的值(后期可做成动态)
        key1.add("brokerUserId");
        // 定义主键id
        key1.add("custlockid");
        getProxyPojoValue(new CustLock(),key1);
}
 
// 结果:
// {custlockid=cust_lock_id, brokerUserId=broker_user_id, tableName=uc_cust_lock}

小结一下

通过getDeclaredFields,getAnnotation这两个主要关键类去获取对应的信息。

@TableName和@TableId爆红

加入pom依赖

  <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.2.0</version>
        </dependency>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Java如何获取@TableField,@TableName注解的值

本文链接: https://www.lsjlt.com/news/162587.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java如何获取@TableField,@TableName注解的值
    目录如何获取@TableField,@TableName注解的值操作方式小结一下@TableName和@TableId爆红加入pom依赖如何获取@TableField,@TableN...
    99+
    2022-11-12
  • Java怎么获取@TableField,@TableName注解的值
    今天小编给大家分享一下Java怎么获取@TableField,@TableName注解的值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2023-06-26
  • java如何获取注解的值
    在Java中,可以通过反射来获取注解的值。具体步骤如下: 首先,需要定义一个带有注解的类或方法。 @MyAnnotation(n...
    99+
    2023-10-26
    java
  • Java注解怎么获取请求参数值
    在Java中,可以使用反射来获取方法中的请求参数值。以下是一个示例代码:```javaimport java.lang.annota...
    99+
    2023-09-27
    Java
  • java如何获取map的值
    在Java中,可以使用`get()`方法从`Map`对象中获取键对应的值。具体语法如下:```javaMap map = new H...
    99+
    2023-09-11
    java
  • java如何获取方法上的注解
    要获取方法上的注解,可以使用Java的反射机制。以下是一种常见的方法:1. 首先,使用`Class`类的`getMethod`或`g...
    99+
    2023-09-20
    java
  • 如何获取包下所有类中的注解的值(java工具类)
    获取包下所有类中注解的值 作用: 这个工具类主要的作用就是获取类中的注解的值。 应用场景: 做权限的时候获取@RequestMapping();的值,自动添加到数据库中。 ...
    99+
    2022-11-12
  • java如何获取枚举的值
    在Java中,可以使用values()方法来获取枚举类型的所有值。该方法返回一个包含枚举常量的数组。 下面是一个示例: enum C...
    99+
    2023-10-24
    java
  • java中如何获取map的key值
    在Java中,可以使用`Map`的`keySet()`方法获取`Map`的所有key值。`keySet()`方法返回一个`Set`集...
    99+
    2023-08-31
    java
  • nacos中使用@Value注解获取不到值如何解决
    这篇文章主要介绍了nacos中使用@Value注解获取不到值如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇nacos中使用@Value注解获取不到值如何解决文章都会有所收获,下面我们一起来看看吧。可能导...
    99+
    2023-07-05
  • java如何获取list所有值
    在Java中,可以使用for循环遍历List来获取所有值。具体步骤如下:1. 定义一个List对象,例如:```javaList l...
    99+
    2023-09-20
    java
  • java怎么获取注解标注的方法
    可以使用反射机制来获取注解标注的方法。 首先,需要获得要获取注解的类的Class对象,可以通过类名.class或者对象.getCla...
    99+
    2023-10-26
    java
  • java如何获取json中的某个值
    在Java中,可以使用JSON库来解析JSON数据并获取其中的某个值。常用的JSON库有Jackson、Gson和JSON-java...
    99+
    2023-10-10
    json java
  • java如何获取object中某key的值
    在Java中,可以通过以下方式获取object中某个key的值: 使用JSONObject类:首先将object转换为JSONOb...
    99+
    2023-10-24
    java object
  • java如何获取list中最大的值
    可以使用Collections类的max()方法来获取List中的最大值。以下是一个示例代码:```javaimport java....
    99+
    2023-08-15
    java list
  • java如何获取url中的参数值
    在Java中获取URL中的参数值可以使用`java.net.URLDecoder`类的`decode`方法来解码URL中的参数。具体...
    99+
    2023-08-08
    java
  • Java如何获取属性的注释信息详解
    前言 注解是JavaSE5.0开始提供的一项新特性,利用此特性可以通过特定的注解标签为程序提供一些描述性信息。这些描述性信息可以在编译或运行时为编译器、运行环境提供附加的信息,从而简...
    99+
    2022-11-12
  • Spring注解@Value在controller无法获取到值的解决
    目录一、前言二、properties加入到Spring容器中有两种方式1、以注入bean的形式2、以下面这种形式三、将properties注册到Spring容器1、weixin.pr...
    99+
    2022-11-12
  • java怎么获取方法上的注解
    在 Java 中,可以使用反射来获取方法上的注解。可以按照以下步骤获取方法上的注解: 使用 Class 对象的 getMethod...
    99+
    2023-10-24
    java
  • java怎么获取元注解的内容
    在Java中,可以使用反射机制来获取元注解的内容。元注解是用来修饰其他注解的注解,可以通过以下步骤获取元注解的内容: 获取目标注解...
    99+
    2023-10-26
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作