原文:http://www.cnblogs.com/xdp-gacl/p/4264440.html
一、一对一关联
1.1、提出需求
根据班级id查询班级信息(带老师的信息)
1.2、创建表和数据
创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。
CREATE TABLEteacher(
t_idINT PRIMARY KEYAUTO_INCREMENT,
t_nameVARCHAR(20)
);CREATE TABLEclass(
c_idINT PRIMARY KEYAUTO_INCREMENT,
c_nameVARCHAR(20),
teacher_idINT);ALTER TABLE class ADD CONSTRAINT fk_teacher_id FOREIGN KEY (teacher_id) REFERENCESteacher(t_id);INSERT INTO teacher(t_name) VALUES('teacher1');INSERT INTO teacher(t_name) VALUES('teacher2');INSERT INTO class(c_name, teacher_id) VALUES('class_a', 1);INSERT INTO class(c_name, teacher_id) VALUES('class_b', 2);
1.3、定义实体类
1、Teacher类,Teacher类是teacher表对应的实体类。
packageme.gacl.domain;/***@authorgacl
* 定义teacher表对应的实体类*/
public classTeacher {//定义实体类的属性,与teacher表中的字段对应
private int id; //id===>t_id
private String name; //name===>t_name
public intgetId() {returnid;
}public void setId(intid) {this.id =id;
}publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}
@OverridepublicString toString() {return "Teacher [id=" + id + ", name=" + name + "]";
}
}
2、Classes类,Classes类是class表对应的实体类
packageme.gacl.domain;/***@authorgacl
* 定义class表对应的实体类*/
public classClasses {//定义实体类的属性,与class表中的字段对应
private int id; //id===>c_id
private String name; //name===>c_name
/*** class表中有一个teacher_id字段,