所謂關聯查詢即查詢某個表的時候會連帶查詢出相關聯的表的數據。
1) 一對一:例如一個員工表與員工詳細表的對應關系
2) 一對多:一張表的一條記錄可以對應另外一張表的多條記錄。比如部門與員工的關系。
3) 多對一:與一對多相反,例如員工表與部門表之間的關系。通過外鍵來維護。
4) 多對多:例如一個員工有多個角色,一個角色 可以對應多個員工。多對多通常需要一張中間表來維護關聯關系。
一、在創建過程中要用到的表和序列如下:
-- 部門表
create table t_dept(
id number(11) primary key ,
deptcode varchar2(20) unique not null ,
deptname varchar2(50) not null
);
-- 管理員表
create table t_admin(
id number(11) primary key ,
account varchar2(50) unique not null ,
password varchar2(20) not null ,
deptid number(11) references t_dept(id)
);
-- 角色表
create table t_role(
id number(11) primary key ,
rolecode varchar2(50) not null,
rolename varchar2(50) not null ,
status char(1) default '0'
);
-- 用戶角色關系表(生成實體類時,此表不需要操作)
create table t_user_role(
roleid number(11) references t_role(id) not null ,
userid number(11) references t_admin(id) not null
);
-- 用戶詳情表
create table t_user_detail(
id number(11) primary key ,
addr varchar2(200),
education varchar2(20)
);
create sequence seq_t_admin;
create sequence seq_t_role;
create sequence seq_t_dept;
二、一些java文件和相對於的映射文件的配置如下所示:
①一對一關聯:
②一對多關聯:一對多,不配admin的原因是,我們現在只是單向操作,只通過部門來尋找部門的人員信息,而沒有通過人員來查找部門,但是到后面會配;
③多對一:
④多對多: