首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mybatis关联映射

Mybatis【多表连接】

我们在学习Hibernate的时候,如果表涉及到两张的话,那么我们是在映射文件中使用..等标签将其的映射属性关联起来的…那么在我们Mybatis中又怎么做呢???

先来回顾一下我们SQL99的语法:

由于我们Mybatis中并没有像Hibernate这样全自动化的,因此我们是没有..等标签的,我们还是使用手写SQL语句来使我们的关联属性连接起来…

一对一

需求:

学生和身份证

这里写图片描述

设计表:

实体

映射文件

由于我们有两个实体,因此我们会有两个映射文件

Student映射文件

Card映射文件

DAO层

现在我想根据学生的编号查询学生的信息和身份证信息

由于该查询着重是查询学生的信息,于是我们在学生的映射文件中写SQL语句

按照需求,我们写出来的SQL语句是这样子的。

我来看一下查询结果:

这里写图片描述

我们的实体与映射表中,Student实体是没有关联其他的字段的,仅仅是写出了该实体的自带的属性

明显地,我们Student是不能封装返回的结果,因此我们需要将关联属性进行关联起来!

我们关联了以后,Student实体就能够封装返回的结果了

查询编号为1的学生信息【包括身份证编号】

这里写图片描述

一对多

需求:

一个班级有多个学生,查询java学科有哪些学生信息

这里写图片描述

设计数据库表

实体

映射文件SQL语句

DAO

这里写图片描述

多对多

需求:

学生和课程

这里写图片描述

数据库表

实体

映射文件

DAO

总结

对于Mybatis的多表连接就非常简单了,由于SQL语句全是由我们自己写,如果我们返回的数据类型在当前的实体中是不够封装的话,那么我们只要再关联对应的映射属性就行了

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180310G0BOFU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券