jdbc简易泛型dao(七)

2014-11-24 11:47:29 · 作者: · 浏览: 63
.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 数据库表的的名称
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Entity {
/**
* 表名
*/
String value();
}
2)、Id
[java]
package annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 标识数据库字段的ID
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Id {
/**
* ID的名称
* @return
*/
String value();
}
3)、Column
[java]
package annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 标识数据库字段的名称
* @author 杨信
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Column {
/**
* 字段名称
*/
String value();
/**
* 字段的类型
* @return
*/
Class< > type() default String.class;
/**
* 字段的长度
* @return
*/
int length() default 0;
}
5、定义一个JavaBean,用于测试使用
要求:
1)、类名必须用Entity注解标识,并指定数据库中对应的表名
2)、Id属性必须用Id注解标识,并指定表中所对应的字段名
3)、其它属性必须用Column注解标识,并指定表中所对应的字段名
4)、JavaBean属性的数据类型目前只实现了8大基本数据类型、String和这些基本类型的数组类型。
5)、JavaBean属性目前没有做字段的长度与类型的判断,待以后改进。
[java]
package model;
import java.util.Date;
import annotation.Column;
import annotation.Entity;
import annotation.Id;
/**
* 图书
*/
@Entity("t_book") //表名
public class Book {
/**
* 图书编号
*/
@Id("t_isbn")
private String isbn;
/**
* 书名
*/
@Column("t_name")
private String name;
/**
* 作者
*/
@Column("t_author")
private String author;
/**
* 出版社
*/
@Column("t_publishing")
private String publishing;
/**
* 出版时间
*/
@Column(value = "t_pubdate")
private Date pubdate;
/**
* 价格
*/
@Column(value = "t_price")
private double price;
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPublishing() {
return publishing;
}
public void setPublishing(String publishing) {
this.publishing = publishing;
}
public Date getPubdate() {
return pubdate;
}
public void setPubdate(Date pubdate) {
this.pubdate = pubdate;