持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第14天,点击查看活动详情
继续上篇文章,再说说mybatis的一对一和多对多,之前自学mybatis框架,但实在搞不明白这一对一、多对多之间的关系,前段时间,自己开发了个小项目,用到了mybatis,才算搞明白了,分享给大家
3. 一对一关联
一对一关联:一个班级只有一个授课老师,一个老师也只为一个班级授课。
一个老师辅导一个学生,一个学生只请教一个老师.学生和老师是一对一.
一对一是在主实体类中添加需要关联的实体类作为属性,再配合映射文件的ResultMap的association来实现
实体类:
接口:
mapper.xml
4. 多对多关联
多对多关联:园区划线的车位和园区的每一辆车.任意一个车位可以停任意一辆车.任意一车辆车可以停在任意一个车位上.
多对多关联中,需要通过中间表化解关联关系。中间表描述两张主键表的关联。中间表没有对应的实体类。Mapper.xml文件中也没有中间表的对应标签描述,只是在查询语句中使用中间表来进行关联。
实体类:
接口:
Mapper.xml
总结:无论是什么关联关系,如果某方持有另一方的集合,则使用< collection>标签完成映射,如果某方持有另一方的对象,则使用< association>标签完成映射。