当你觉得你用反射的情况非常少的时候,通常就是因为注解接触的少。
目的
使用注解来自动生成一个建数据库表的SQL命令。
注解
我们会创建如下的四个注解,用于进行数据库表,以及字段本身表述的注解。
- @DBTable 代表数据库表,注解元素name表示表名;
- @Constraints
代表对数据表每一列的条件补充,有primaryKey是不是主键,默认false,allowNull是否允许为空,默认true,unique数据是否唯一,默认false; - @SQLString
代表表中的String列,注解元素value表示列长度,name表示列名,constraints表示对列的一些约束条件; - @SQLInteger 代表表中的int列,name表示列名,constraints表示对列的一些约束条件;
@DBTable
package test1;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Created by Joe on 2018/2/22.
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface DBTable {
public String name() default "";
}
@Constraints
package test1;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Created by Joe on 2018/2/22.
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Constraints {
//主键约束
boolean primaryKey() default false;
//非空约束