所用到的类有如下:
DBTable.java(数据库表名描述注解)
package com.ark3g.test;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
*
* @see com.ark3g.test.DBTable
* 数据库表名描述注解
* @version 1.0, 2012-12-10 上午11:45:18
* @author danny.zhang
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface DBTable {
public String name() default "";
}
ColumnInteger.java(数据库列描述注解int类型)
package com.ark3g.test;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
*
* @see com.ark3g.test.ColumnInteger
* 数据库列描述注解int类型
* @version 1.0, 2012-12-10 上午11:40:23
* @author danny.zhang
*/
//声明注解用在成员变量上
@Target(ElementType.FIELD)
//声明注解运行级别在JVM
@Retention(RetentionPolicy.RUNTIME)
public @interface ColumnInteger {
//name其实就是改注解的成员变量
public String name() default "";
public Constraint constraint() default @Constraint;
}
ColumnString.java(数据库列描述注解varchar类型)
package com.ark3g.test;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
*
* @see com.ark3g.test.ColumnString
* 数据库列描述注解varchar类型
* @version 1.0, 2012-12-10 上午11:42:45
* @author danny.zhang
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ColumnString {
public int value() default -1;
public String name() default "";
public Constraint constriant() default @Constraint;
}