我们平日经常会遇到需要级联查询的场景,这里通过案例给大家展示实现过程。我们要查询的用户信息里面有个角色信息,一个用户对应一个角色,我们现在要求查出用户信息的同时,关联查出用户的角色信息,那么这个时候我们可以通过级联属性的方式,将角色中的数据查出来封装到用户User的role属性里面,我们还有另外一种方式来实现数据的封装。接下来我们将介绍一下association标签的相关用法,包括嵌套查询和分段查询两种方式。
准备工作:
在Oracle数据库新建两张数据库表t_user和t_role,并插入若干条数据
CREATE TABLE t_user (
id NUMBER(2) NOT NULL,
userName varchar2(100) DEFAULT NULL,
roleId NUMBER(2),
note varchar2(255) DEFAULT NULL,
PRIMARY KEY (id)
)
INSERT INTO t_user(id,userName,roleId,note) VALUES (1, '张三', 1, '负责编码');
INSERT INTO t_user(id,userName,roleId,note) VALUES (2, '李四', 2, '负责测试');
INSERT INTO t_user(id,userName,roleId,note) VALUES (3, '王五', 3, '产品设计');
CREATE TABLE t_role (
id NUMBER(2) NOT NULL,
roleName varchar(20) DEFAULT NULL,
PRIMARY KEY (id)
)