第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 十三 注解(高琪java300集+java从入门到精通笔记)

十三 注解(高琪java300集+java从入门到精通笔记)

时间:2019-07-28 08:33:41

相关推荐

十三 注解(高琪java300集+java从入门到精通笔记)

注解(Annotation)

什么是注解:

内置注解:

自定义注解:

元注解:

其中:@Target

@Retention

SOURCE反射读不到

RUNTIME运行时加载Annotation到JVM

* 使用反射读取注解的信息,模拟处理注解信息的流程

*/

public classDemo03 {

public static voidmain(String[] args) {

try{

Classclazz = Class.forName(“com.bjsxt.test.annotation.SxtStudent”);

@SxtTable(“tb_student”)//

@Target(value={ElementType.TYPE})//类

@Retention(RetentionPolicy.RUNTIME)

public @interfaceSxtTable {

String value();

}

public classSxtStudent {

@SxtField(columnName=“id”,type=“int”,length=10)//

@Target(value={ElementType.FIELD})

@Retention(RetentionPolicy.RUNTIME)

public @interfaceSxtField {

String columnName();//id

String type();//int

intlength();//10

}

private intid;

@SxtField(columnName=“sname”,type=“varchar”,length=10)

privateString studentName;

@SxtField(columnName=“age”,type=“int”,length=3)

private intage;

public intgetId() {

returnid;

}

public voidsetId(intid) {

this.id = id;

}

publicString getStudentName() {

returnstudentName;

}

public voidsetStudentName(String studentName) {

this.studentName = studentName;

}

public intgetAge() {

returnage;

}

public voidsetAge(intage) {

this.age = age;

}

}

//获得类的所有有效注解

Annotation[] annotations=clazz.getAnnotations();

for(Annotation a : annotations) {

System.out.println(a);//@com.bjsxt.test.annotation.SxtTable(value=“tb_student”)

}

//获得类的指定的注解

SxtTable st = (SxtTable)clazz.getAnnotation(SxtTable.class);

System.out.println(st.value());//tb_student

//获得类的属性的注解

Field f = clazz.getDeclaredField(“studentName”);

SxtField sxtField = f.getAnnotation(SxtField.class);

System.out.println(sxtField.columnName()+"–"+sxtField.type()+"–"+sxtField.length());//sname–varchar–10

//根据获得的表名、字段的信息,拼出DDL语句,然后,使用JDBC执行这个SQL,在数据库中生成相关的表

}catch(Exception e) {

e.printStackTrace();

}

}

}

th());//sname–varchar–10

//根据获得的表名、字段的信息,拼出DDL语句,然后,使用JDBC执行这个SQL,在数据库中生成相关的表

}catch(Exception e) {

e.printStackTrace();

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。