课程设计小知识(一)

2015-07-24 06:56:26 · 作者: · 浏览: 10

DAO

DAO是Data Access Object三个首字母的组合,是和数据库打交道的,夹在业务逻辑与数据资源中间。一个标准的DAO模式包含:
(1)VO:数据传输对象,一般和数据库中的一张数据表对应(一个实例相当于数据表中的一条记录,具体看例子比较好理解)
(2)DAO接口:一个接口,声明包含的需要的操作
(3)DAOImpl:DAO接口的具体实现类,只负责实现DAO接口声明的功能,不包括数据库的打开和关闭
(4)DAOProxy:代理,借助DAOImpl实现了DAO接口,但也包括数据库的打开和关闭

(5)DAOFactory:DAO工厂,就是提供dao的地方,只包含public类型的返回dao类型的getInstance()静态方法,该方法提供DAOProxy实例,并返回
(6)DataBaseConnection:负责打开关闭数据库。
例子:比如我们要操作名称为program的数据库中的一张名为reader的表,按照上面的步骤,写出如下代码:
(1)在VO包里写出Reader类:

/*只用写出类中的成员变量(也叫属性),对应数据库中的字段,后面的get,set,已经构造完全自动生成,一个该类实例可以表示一条记录*/
package vo;
public class Reader {
    private int readerid;//读者id号
    private String cardid;//借书证id
    private String readername;//读者姓名
    private String password;//密码
    private String sex;//读者性别
    private String idcard;//身份证
    private String homeaddress;//家庭住址
    private String phone;//电话
    private String jobaddress;//工作单位地址
    private int booksum;//可以借书数量
    private String carddate;//办证日期
    private String abatedate;//失效日期
    private int borrowersum;//以借书数量
    private String xueli;//学历
    private String remark;//备注信息
    public Reader() {
        super();
    }

    public Reader(String cardid, String readername, String password,
            String sex, String idcard, String homeaddress, String phone,
            String jobaddress, int booksum, String carddate, String abatedate,
            int borrowersum, String xueli, String remark) {
        super();
        this.cardid = cardid;
        this.readername = readername;
        this.password = password;
        this.sex = sex;
        this.idcard = idcard;
        this.homeaddress = homeaddress;
        this.phone = phone;
        this.jobaddress = jobaddress;
        this.booksum = booksum;
        this.carddate = carddate;
        this.abatedate = abatedate;
        this.borrowersum = borrowersum;
        this.xueli = xueli;
        this.remark = remark;
    }

    public Reader(int readerid,
            String cardid, 
            String readername,
            String password, 
            String sex, 
            String idcard, 
            String homeaddress,
            String phone, 
            String jobaddress, 
            int booksum, 
            String carddate,
            String abatedate, 
            int borrowersum, 
            String xueli, 
            String remark) {
        super();
        this.readerid = readerid;
        this.cardid = cardid;
        this.readername = readername;
        this.password = password;
        this.sex = sex;
        this.idcard = idcard;
        this.homeaddress = homeaddress;
        this.phone = phone;
        this.jobaddress = jobaddress;
        this.booksum = booksum;
        this.carddate = carddate;
        this.abatedate = abatedate;
        this.borrowersum = borrowersum;
        this.xueli = xueli;
        this.remark = remark;
    }

    public int getReaderid() {
        return readerid;
    }
    public void setReaderid(int readerid) {
        this.readerid = readerid;
    }
    public String getCardid() {
        return cardid;
    }
    public void setCardid(String cardid) {
        this.cardid = cardid;
    }
    public String getReadername() {
        return readername;
    }
    public void setReadername(String readername) {
        this.readername = readername;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    public String getHomeaddress() {
        return homeaddress;
    }
    public void setHomeaddress(String homeaddress) {
        this.homeaddress = homeaddress;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getJobaddress() {
        return