在介绍数据库时介绍了表之间的关系,而现在我们已经上升到了框架,我们的表也在java代码中有了体现————bean类。那么我们在以后的开发中对表关系的利用以及多表查询操作都该基于多个bean之间的关系进行。 类与类之间有很多种关系,像依赖,关联,继承,实现等, 继承和实现我们已经在JavaSE中进行介绍,而这里的关联就代表的是逻辑上的关系,就是我们要介绍的Bean之间的关系。
JavaBean之间的关系实现以及与表关系的对应
对应表关系Bean之间关系也有三种:
一对一
一对多/多对一
多对多
我们一一再次进行介绍以及说明如何在java中进行对应:
一对一
一对一的关系在生活中的体现比较少,一般在关于人的关系和信息上:一个QQ号对应一个QQ邮箱,夫妻,身份证等专属关系。
可以类比为:
在数据中通过外键来联系两张表:
在Java中通过在属性中加上一个对方的对象来设定一对一关系。
public class Fu {
private Qi qi;
}
public class Qi {
private Fu fu;
}
一对多/多对一
一对多或者多对一在生活中的例子比较多,比如员工与部门,领导与下属,班级与学生,国家与省份,省份与城市等等
关系可以类比为:
在数据中可以利用外键进行约束,与一对一差别是不用添加唯一性约束
在java中利用集合和对象来进行设定:
public class Employee {
private Department department;
}
public class Department{
private List<Employee> emps;
}
多对多
多对多在生活中的例子也很多,比如老师与学生,商品与订单,学生与课程等等
可以类比为:
在java中利用集合和集合来进行设定:
public class Student{
private List<course> courses;
}
public class Course{
private List<Student> students;
}