实验三 Mybatis多表查询操作
一实验目的
1.掌握数据库表字段与实体类属性不同的处理方式
2.掌握查询返回无对应实体类的处理方法
3.掌握多表联合查询映射处理
二 实验内容(以下给出示例,请自身编写程序进行练习)
1 解决字段名与实体类属性名不同的方法:
1 )查询时为字段起别名,与属性名一样:

2 )当字段名符合mysql要求,用了_,而属性名符合java驼峰规范,可以采用配置方式开启自动映射。


3) 自定义映射resultMap

2 多对一映射关系三种处理方式:
1 )级联方式


2 )使用association(sql语句同前)

3) 分步查询
首先,先准备好要被调用的接口方法


然后,在association中用select标签调用前面准备好语句,调用时利用column标签向被调用方法传递参数

3 一对多映射关系处理(两种处理方式)
1) 用collection


2)分步查询
先准备好将被调用的接口及SQL映射


然后进行主查询:


实验内容:

1 解决字段名与实体类属性名不同的方法:
1 )查询时为字段起别名,与属性名一样:



2 )当字段名符合mysql要求,用了_,而属性名符合java驼峰规范,可以采用配置方式开启自动映射。


3) 自定义映射resultMap


2 多对一映射关系三种处理方式:


1 )级联方式



2 )使用association(sql语句同前)


3) 分步查询
第一步:准备好被调用的接口方法


第二步:在association中用select标签调用前面准备好语句,调用时利用column标签向被调用方法传递参数


3 一对多映射关系处理(两种处理方式)
1) 用collection



2)分步查询
第一步:先准备好将被调用的接口及SQL映射


第二步:然后进行主查询


三 实验收获
①在 MyBatis 中的映射,多对一使用 标签来映射多对一关系。一对多使用 标签来映射一对多关系。
② 标签的作用是:
将数据库查询结果中的列映射到 Java 对象的属性。
处理复杂的对象关系(如一对一、一对多、多对一)。
避免手动编写繁琐的结果集处理代码。