Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

反射操作注解与反射操作泛型 PDF 下载


分享到:
时间:2021-04-17 14:34来源:http://www.java1234.com 作者:转载  侵权举报
反射操作注解与反射操作泛型 PDF 下载
失效链接处理
反射操作注解与反射操作泛型 PDF 下载


本站整理下载:
提取码:filk 
 
 
相关截图:
 
主要内容:


利用注解和反射完成类和表结构的映射关系
代码:
package com.chao.reflection;
import java.lang.annotation.*;
import java.lang.reflect.Field;
//练习反射操作注解
public class Test12 {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException {
        Class c1 = Class.forName("com.chao.reflection.Student2");
        //通过反射获得注解
        Annotation[] annotations = c1.getAnnotations();
        for (Annotation annotation : annotations) {
            System.out.println(annotation);
        }
        //获得注解的value的值.
        Tablechao tablechao = (Tablechao)c1.getAnnotation(Tablechao.class);
        String value = tablechao.value();
        System.out.println(value);
        //获得类指定的注解
        Field f = c1.getDeclaredField("id");
        Fieldchao annotation = f.getAnnotation(Fieldchao.class);
        System.out.println(annotation.columnName());
        System.out.println(annotation.type());
        System.out.println(annotation.length());
    }
}
@Tablechao("db_student")
class Student2{
    @Fieldchao(columnName = "db_id",type = "int",length = 10)
    private int id;
    @Fieldchao(columnName = "db_age",type = "int",length = 10)
    private int age;
    @Fieldchao(columnName = "db_name",type = "varchar",length = 3)
    private String name;
    public Student2() {
    }
    public Student2(int id, int age, String name) {
        this.id = id;
        this.age = age;
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "Student2{" +
                "id=" + id +
                ", age=" + age +
                ", name='" + name + '\'' +
                '}';
    }
}
//类名的注解
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@interface Tablechao{
    String value();
}
//属性的注解
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@interface Fieldchao{
     String columnName();
     String type();
     int length();
}

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐