反射机制

反射
Java 程序运行状态中,对于任何一个类,都可以获得这个类的所有属性和方法;对于给定的一个对象,都能够调用它的任意一个属性和方法。这种动态获取类的内容以及动态调用对象的方法称为反射机制。通过反射机制,我们可以通过一个对象获取到它的如下数据:
* 类:类名、类的完整路径、类上的注解……
* 成员变量:变量名、变量类型、变量值、变量上的注解……
* 方法:方法名、方法上的注解……

通用Mapper:
1. 定义注解,在实体类中分别标注表名、字段名等关键信息
2. 在使用时通过 Java 反射机制 获取到注解信息并对其进行解析,从而获取到表名、字段名等信息
3. 使用获取到的关键信息生成 SQL 语句
4. 执行 SQL 语句并返回执行结果

Insert: 表名、字段名
Delete: 表名、查询条件
Update: 表名、字段名、查询条件
Select: 字段、表名、查询条件、排序条件

例如:

/*得到类的注解*/
entity.getClass().getAnnotation(TableAttribute.class);
/*得到类的所有字段*/
Class cls = entity.getClass();
Field[] fields = cls.getDeclaredFields();
/*得到方法名*/
Method method = cls.getMethod("get" + StringUtils.captureName(fieldName));
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

通过反射得到类的方式

getClass();
.class
/*驱动*/
Class.forName("className【包名.类名】")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值