总觉得写博客要形成自己的风格才行,不能像记流水账一样记录,比如文章有开头,过程,结尾,总结。虽说文章的好坏,跟排版无关,但是至少看得人看的舒服。所以说,要有自己的风格、比如,文章是为了记录什么,解决什么,学到了什么,总结之后给别人帮助。这才是挺有意思亲人去世怎么安慰的一件事。
不多说,上菜。
有这么一个需求,程序中修改资料,或者代码里面需要修改到表的时候,不想通过多张日志表去记录说修改了什么,那么我定义一张表,存储表名,表字段,再存储修改的值这些。虽然说后期如果有需求要还原数据比较麻烦,但是统一处理了数据,也不会需要定义那么多张表。
定义一个实体类
@tablename("uc_cust_lock")public class custlock { /** * 标识 */ @tableid @tablefield("cust_lock_id") private string custlockid; /** * 经纪人id */ @tablefield("broker_ur_id") private string brokerurid; /** * 组织id(经纪人所属组织id) */ @tablefield("org_id") private string orgid; // get,t...省略}
获取类的信息
// 引入的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, t<string> key1){ string id = null; // 返回参数 hashmap<string,obj电脑键盘指法练习图ect> hashmap = new hashmap<>(16); for (string s : key1) { field[] fields = object.getclass().getdeclaredfields(); for (field field : fields) { field.taccessible(true); // 获取表名 tablename table = object.getclass().getannotation(tablename.class); if (table != null) { string tablename = table.value(); hashmap.putifabnt("tablename", tablename); } // 获取主键id if (id == null) { boolean isidfield = field.isannotationprent(tableid.class); if (isidfield) { tablefield ta土地拍卖公告blefield = field.getannotation(tablefield.class); if (s.tolowerca().equals(field.getname().tolowerca())) { string tableid = tablefield.value(); hashmap.put(s,tableid); id = tableid; } } } // 获取字段的值 boolean istablefield = field.isannotationprent(tablefield.class); if (istablefield) { ta李云迪现任女朋友blefield tablefield = field.getannotation(tablefield.class); if (s.tolowerca().青年大学习最新答案equals(field.getname().tolowerca())) { string fieldvalue = tablefield.value(); hashmap.put(s,fieldvalue); } } } } system.out.println(hashmap); }
main方法执行
public static void main(string[] args) throws illegalaccesxception { t<string> key1= new hasht<>(); // 定义修改的值(后期可做成动态) key1.add("brokerurid"); // 定义主键id key1.add("custlockid"); getproxypojovalue(new custlock(),key1);}// 结果:// {custlockid=cust_lock_id, brokerurid=broker_ur_id, tablename=uc_cust_lock}
通过getdeclaredfields,getannotation这两个主要关键类去获取对应的信息。
<dependency> <groupid>com.baomidou</groupid> <artifactid>mybatis-plus-boot-starter</artifactid> <version>3.2.0</version> </dependency>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。
本文发布于:2023-04-04 15:16:13,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/112c16b6b75b1b195825ad8b811c7d97.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Java如何获取@TableField,@TableName注解的值.doc
本文 PDF 下载地址:Java如何获取@TableField,@TableName注解的值.pdf
留言与评论(共有 0 条评论) |