关联关系是面向对象分析、面向对象设计最终的思想,Mybatis完全可以理解这种关联关系,如果关系得当,Mybatis的关联映射将可以大大简化持久层数据的访问
一、关联映射
举例关系说明
数据库创建表,student,teacher
关系说明:
- 一个老师可以有多个学生
- 一个学生只有一个老师
- 一个老师对学生:一对多的关系
- 一个学生老师:一对一的关系
二、一对一多对一的关系
查询学生信息及其对应的教师信息
学生实体:用对象来存储教师信息,因为一个学生对应一个教师对象
教师实体:
1.第一种形式-连表查询
数据库查询sql:
mybatis多表联查查询语句:(嵌套其他实体对象)
对于特殊数据:
- 如果是对象:用association :< association property=“teacher” javaType=“com.qcby.entity.Teacher”>,特殊数据特殊处理
- < result property=“id” column=“id”/> :所要查询的字段,property代表java中实体的属性名称,column:表示数据库的字段
2.第二种形式-分步查询
数据库查询sql:
mybatis分布查询查询语句:
三、一对多
查询教师对应的学生信息
设立教师实体:用集合来存储对应的学生信息,因为一个教师对应多个学生
第一种形式按照结果嵌套处理
mybatis查询语句:
第二种形式按照查询嵌套处理
mybatis查询语句: 对于特殊字段集合采用分布查询的方式,特殊字段特殊处理:< collection property=“students” column=“t_id”
ofType=“com.qcby.entity.Student” select=“getStudentByTeacherId” />,getStudentByTeacherId一个新的查询语句
到此这篇关于Mybatis关联映射举例详解的文章就介绍到这了,更多相关Mybatis关联映射内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!