千家信息网

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

发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,今天小编给大家分享一下Java怎么获取@TableField,@TableName注解的值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家
千家信息网最后更新 2024年10月21日Java怎么获取@TableField,@TableName注解的值

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

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

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

不多说,上菜。

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

操作方式

定义一个实体类

@TableName("uc_cust_lock")public class CustLock {        /**     * 标识     */    @TableId    @TableField("cust_lock_id")    private String custLockId;         /**     * 经纪人id     */    @TableField("broker_user_id")    private String brokerUserId;             /**     * 组织id(经纪人所属组织id)     */    @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 key1){        String id = null;        // 返回参数        HashMap 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 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依赖

              com.baomidou            mybatis-plus-boot-starter            3.2.0        

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

知识 篇文章 注解 文章 信息 内容 多张 字段 数据 经纪人 需求 风格 存储 经纪 不同 很大 舒服 两个 代码 关键 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 无法登入埃尔登法环服务器 为什么服务器都是集成显卡 三级计算机网络技术资料 有限元计算服务器租用 网络安全工具套装裙穿搭 淮北公安网络安全管理 诺德数据库制表出现空白表格 湖北浪潮服务器维修调试云服务器 铜梁县新华软件开发培训 服务器 国家标准 安徽蒙玺网络技术有限公司 海淀软件开发哪个学校好 网络安全法等保有哪几级 深圳百辰网络技术公司 上海网络安全管理办法 翼星求生服务器掉线 软件开发测试体会 达梦数据库连接后出现系统错误 安徽新活力互联网科技有限公司 两个数据库联合修改 软件开发与信息管理的联系 域名查询网站服务器 学校对家长的网络安全的倡议 国家863重点实验室网络安全 做一份网络安全的手抄报图片 纽约交易所taq数据库介绍 刀片服务器主板刀片 杭州市九旺网络技术有限公司 怎么查看数据库名称 互联网科技 旅游
0