有了一个框架,只需要配置好数据库连接,就可以在java代码层操控database,对于写个model便在数据库中创建了一张表而感到十分神奇,隐约想起以前看《Thinking in Java》中关于注解(Annotation)一张中对于自动生成SQL语句的操作。

首先略微介绍下注解(亦称为与数据metadata(ORM-对象/关系映射中的核心))。

      Annotation源自JavaSE1.5,内置3个标准注解,4个元注解:

      (1)java.lang.*中的@Override,@Deprecated, @SuppressWarnings

      (2)java.lang.annotations.*中的@Target, @Inherited, @Retention, @Documented

     对于后4个元注解,稍后再在代码中解释。

     对于一个创建表的SQL Create语句,我们要确定几个元素:表名,列名,列名类型,类型长度,约束等,这些都可以在实体类的属性加以注解说明来实现。

     对于表名注解:

 1  1 package annotiation;
 2  2 import java.lang.annotation.*;
 3  3 
 4  4 @Inherited                             // 允许子类继承父类中的注解
 5  5 @Documented                            // 将此注解包含在Javadoc中 
 6  6 @Target(ElementType.TYPE)              // 类、接口(包括注解类型)或枚举类型声明
 7  7 @Retention(RetentionPolicy.RUNTIME)    // VM在运行时保留注解,从而通过反射获取信息
 8  8 
 9  9 public @interface DBTable {
10 10     public String name() default "";   // 注解未赋值是,默认为空
11 11 }
View Code

相关文章: