这次查询的表中引入了外键。两个表关联起来了,如何进行查询?

一、代码实现

(1)表结构

1

创建class表的外键teacherid和teacher表的id。

插入数据:

1

1

(2)写出两个对应的实体类Teacher和Class

这里需要特别注意:

因为class表中有一个teacherID字段,所以要在Class类中定义一个teacher属性,用于维护teacher和class之间的一对一关系。

如果在表中有另一个表的属性关联,那么在建立实体类的时候就需要建立两个实体类,其中一个在另一个之中作为一个属性。

(3)写出sql映射文件ClassMapper1.xml

可以看见有两种方式:

1.嵌套结果

使用嵌套结果映射来处理重复的联合结果的子集 封装联表查询的数据(去除重复的数据)。

就是用resultMap去定义回显格式,然后完成输出。

2.嵌套查询

通过执行另外一个SQL映射语句来返回预期的复杂类型。

就是一开始的类先独立进行查询,然后包含的类再次进行查询,把结果放在resultMap定义返回格式。

(4)在mybatis配置文件conf.xml中注册sql配置文件ClassMapper1.xml

conf.xml

(5)最后写出测试类

测试结果:

成功进行查询。

二、总结

以上就是简单的单对单关联表查询方式,下次尝试进行多对多关联表查询。

1 对 “mybatis 完成一对一关联单表查询”的想法;

发表评论

电子邮件地址不会被公开。 必填项已用*标注