我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java怎么获取@TableField,@TableName注解的值

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java怎么获取@TableField,@TableName注解的值

今天小编给大家分享一下Java怎么获取@TableField,@TableName注解的值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

如何获取@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>

以上就是“Java怎么获取@TableField,@TableName注解的值”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java怎么获取@TableField,@TableName注解的值

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

下载Word文档

猜你喜欢

Java怎么获取@TableField,@TableName注解的值

今天小编给大家分享一下Java怎么获取@TableField,@TableName注解的值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来
2023-06-26

java如何获取注解的值

在Java中,可以通过反射来获取注解的值。具体步骤如下:首先,需要定义一个带有注解的类或方法。@MyAnnotation(name = "example", value = "Hello World")public class MyCla
2023-10-26

Java注解怎么获取请求参数值

在Java中,可以使用反射来获取方法中的请求参数值。以下是一个示例代码:```javaimport java.lang.annotation.ElementType;import java.lang.annotation.Retention
2023-09-27

java怎么获取注解标注的方法

可以使用反射机制来获取注解标注的方法。首先,需要获得要获取注解的类的Class对象,可以通过类名.class或者对象.getClass()方法来获取。然后,通过Class对象的getMethods()方法来获取该类的所有公共方法。接着,遍
2023-10-26

java怎么获取properties的值

在Java中获取properties的值,可以通过使用`java.util.Properties`类来读取和操作properties文件。以下是获取properties值的示例代码:1. 使用`java.util.Properties`类加
2023-08-18

java怎么获取元注解的内容

在Java中,可以使用反射机制来获取元注解的内容。元注解是用来修饰其他注解的注解,可以通过以下步骤获取元注解的内容:获取目标注解的Class对象:使用`Class.forName()`方法传入目标注解的全限定名来获取目标注解的Class对象
2023-10-26

java怎么获取方法上的注解

在 Java 中,可以使用反射来获取方法上的注解。可以按照以下步骤获取方法上的注解:使用 Class 对象的 getMethod() 方法获取方法的 Method 对象。使用 Method 对象的 getAnnotation() 方法获取
2023-10-24

java怎么获取set中的值

在Java中,可以通过迭代器或者增强for循环来获取Set中的值。使用迭代器:```javaSet set = new HashSet();set.add("value1");set.add("value2");Iterator itera
2023-08-19

java怎么获取Object对象的值

要获取Object对象的值,可以使用以下两种方法:1. 使用Object类的toString()方法获取对象的字符串表示。例如:```javaObject obj = new Object();String value = obj.toSt
2023-10-12

java怎么获取url中的参数值

在Java中,可以使用`java.net.URL`类来获取URL中的参数值。下面是一个示例代码:import java.net.URL;import java.net.MalformedURLException;import java
2023-10-25

怎么用Spring的spel获取自定义注解参数值

这篇文章主要介绍了怎么用Spring的spel获取自定义注解参数值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Spring的spel获取自定义注解参数值文章都会有所收获,下面我们一起来看看吧。spel获
2023-06-29

java怎么获取mysql表注释

获取MySQL表注释提供两种方法获取MySQL表注释:JDBC元数据和SQL查询。JDBC元数据:使用DatabaseMetaData.getTables()获取表元数据。获取REMARKS字段的值作为表注释。SQL查询:执行SELECTTABLE_NAME,TABLE_COMMENT查询。替换<database_name>为要获取注释的数据库名称。
java怎么获取mysql表注释
2024-04-13

java怎么解析xml获取标签属性值

在Java中,可以使用DOM(Document Object Model)解析XML并获取标签的属性值。以下是一个简单的示例代码:```javaimport javax.xml.parsers.DocumentBuilderFactory;
2023-09-29

怎么获取arraylist的值

要获取ArrayList中的值,可以通过以下方式之一:1. 使用get方法:可以通过ArrayList的get方法来获取指定位置上的元素值。例如,要获取ArrayList中第一个元素的值,可以使用`arrayList.get(0)`。2.
2023-10-08

java怎么获取数组中最大的值

你可以使用循环遍历数组,然后比较每个元素的值来找到最大值。以下是一个使用Java的示例代码:```public class Main {public static void main(String[] args) {int[] array
2023-08-16

Java怎么获取数组中的最大值

要获取数组中的最大值,可以通过以下方法实现:使用循环遍历数组,逐个比较数组中的元素,找到最大值。public static int getMaxValue(int[] array) {int maxValue = array[0];for
Java怎么获取数组中的最大值
2024-03-07

Java怎么获取某个数值的索引

在Java中获取某个数值的索引可以使用for循环来遍历数组或集合,然后判断每个元素是否等于目标数值,如果相等,则返回该元素的索引。以下是一个示例代码:public class Main {public static void main(
Java怎么获取某个数值的索引
2024-03-02

java怎么修改注解的值

要修改注解的值,可以使用反射来获取注解的信息,并通过反射修改注解的属性值。首先,需要获取被注解的类或方法的对象,然后通过Class对象或Method对象的getAnnotation()方法获取注解的实例。然后,使用反射工具类(如Anno
2023-10-24

怎么用java反射获取字段值

要使用Java反射获取字段的值,可以按照以下步骤进行操作:获取类的Class对象:通过`Class.forName()`方法或者直接使用对象的`getClass()`方法获取类的Class对象。获取字段对象:通过Class对象的`getF
2023-10-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录