• 获取注解信息


    概述

    ORM(Object Relationship Mapping)对象关系映射

    • 类和表结构对应
    • 属性和字段对应
    • 对象和记录对应

    实例

    /**
     * 练习反射操作注解
     */
    public class Demo07 {
        public static void main(String[] args) throws Exception {
            Class c1 = Class.forName("com.gbhh.reflections.Student2");
            //通过反射获得注解
            Annotation[] annotations = c1.getAnnotations();
            for (Annotation annotation:annotations
                 ) {
                System.out.println(annotation);
            }
            //获取注释的value值
            TableGang tableGang = (TableGang)c1.getAnnotation(TableGang.class);
            String value = tableGang.value();
            System.out.println(value);
    //        获取类指定的注解
            Field f = c1.getDeclaredField("name");
            FieldGang annotation = f.getAnnotation(FieldGang.class);
            System.out.println(annotation.columnName());
            System.out.println(annotation.type());
            System.out.println(annotation.length());
    
        }
    }
    @TableGang("db_student2")
    class Student2{
        @FieldGang(columnName = "db_id",type = "int",length = 20)
        private int id;
        @FieldGang(columnName = "db_age",type = "int",length = 21)
        private int age;
        @FieldGang(columnName = "db_name",type = "varchar",length = 22)
        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;
        }
    }
    //类名的注解
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @interface TableGang{
        String value();
    }
    //属性的注解
    @Target(ElementType.FIELD)
    @Retention(RetentionPolicy.RUNTIME)
    @interface FieldGang{
        String columnName();
        String type();
        int length();
    }
    
  • 相关阅读:
    三代测序及基于三代数据的基因组组装流程评估
    组装技术的新进展 New advances in sequence assembly.
    细菌完成图组装软件简单介绍 细菌
    个人基因组测序将进入千美元费用时代
    HALC:用于长读取错误纠正的高吞吐量算法
    基因组装配新前沿:长片段完成完整的基因组
    第三代PacBio测序技术的测序原理和读长
    三代组装小基因组研究综述
    矩阵连乘 动态规划
    poj 1723 中位数
  • 原文地址:https://www.cnblogs.com/gbhh/p/13768198.html
Copyright © 2020-2023  润新知