ORM框架注解开发原理

@Target(value = { ElementType.TYPE })

@Retention(RetentionPolicy.RUNTIME)

public @interface SetTable {

    String value();

}


@Retention(RetentionPolicy.RUNTIME)

public @interface SetProperty {

 

      String  name();

   

      int leng();

}



@Table(value = "it_user")

class User {

 

      @ProPerty(value = "it_id", leng = 10)

      private String id;

      @ProPerty(value = "it_name", leng = 10)

      private String name;

      public String getId() {

           return id;

      }

      public void setId(String id) {

           this.id = id;

      }

      public String getName() {

           return name;

      }

      public void setName(String name) {

           this.name = name;

      }

}

 

@Target(value = ElementType.TYPE)

@Retention(RetentionPolicy.RUNTIME)

@interface Table {

      String value();

}

@Retention(RetentionPolicy.RUNTIME)

@interface ProPerty {

      String value();

      int leng();

}

public class Test002 {

      public static void main(String[] args) throws ClassNotFoundException {

           ClassforName= Class.forName("com.itmayiedu.User");

           StringBuffersf = new StringBuffer();

           sf.append(" select ");

           // 获取当前的所有的属性

           Field[]declaredFields = forName.getDeclaredFields();

           for (int i = 0; i < declaredFields.length; i++) {

                 Fieldfield = declaredFields[i];

                 ProPerty proPertyAnnota = field.getDeclaredAnnotation(ProPerty.class);

                 StringproPertyName = proPertyAnnota.value();

                 sf.append("

  " + proPertyName);

                 if (i < declaredFields.length - 1) {

                      sf.append(" ,

  ");

                 }

           }

           Table tableAnnota = forName.getDeclaredAnnotation(Table.class);

           // 表的名称

           StringtableName = tableAnnota.value();

           sf.append(" from " + tableName);

           System.out.println(sf.toString());

      }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,160评论 18 399
  • 本文来自尚妆Android团队路飞发表于尚妆github博客,欢迎订阅! 一、什么是注解1、注解的作用2、注解都有...
    尚妆产品技术刊读阅读 4,783评论 0 4
  • 我自己先回顾一下全篇的内容,先是以安全感和安全两者的区别,凭感觉还是凭理性分析,由此就引出了投资这个话题:追求安全...
    捉迷熊阅读 3,106评论 1 0
  • 爱情需要疯狂。当时我不理解,很多年后,看青春电影的我却明白了:不疯狂,非爱情。“再不疯狂我们就老了”。我还没来得及...
    甘棠gt阅读 2,701评论 0 4

友情链接更多精彩内容