实验三 Mybatis多表查询操作

实验三 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 对象的属性。

处理复杂的对象关系(如一对一、一对多、多对一)。

避免手动编写繁琐的结果集处理代码。

相关推荐
天空鸟_时光不老8 小时前
13-亮点提炼:把技术说辞翻译成业务价值
java·spring boot·spring·spring cloud·mybatis
禾小西1 天前
Redis AOF 日志:宕机了,如何避免数据丢失?
java·redis·mybatis
天空鸟_时光不老1 天前
09-RAG问答系统落地:从默认分割器的坑到Milvus召回调优
java·人工智能·spring boot·spring·spring cloud·maven·mybatis
西凉的悲伤1 天前
MyBatis 中 association 与 collection 详解
java·mybatis
天空鸟_时光不老1 天前
10-Agent安全隐患与SQL执行层加固
java·数据库·人工智能·sql·spring·maven·mybatis
jianjinwssy2 天前
MyBatis-Plus 从入门到实战:常用功能与核心原理
java·mybatis
ss2732 天前
AI全栈实战 | 3.6-01 数据库与 ORM:学过 MyBatis 再看 SQLAlchemy,才知道“半自动“和“全自动“差在哪
数据库·mybatis
代码什么用6 天前
使用javassist生成类 && MyBatis中接口代理机制及使用
mybatis
paopaokaka_luck6 天前
非遗文物数字化小程序(AI非遗问答、ONNX图像识别、协同过滤推荐、ECharts数据分析、非遗知识浏览与互动、文创商城订单闭环、文化活动报名签到、社区交流)
javascript·spring boot·mysql·数据分析·echarts·mybatis
韩曙亮6 天前
【JavaEE】MyBatis 基本用法 ⑤ ( 单条件查询 | 多条件查询 | 多条件动态查询 | 单条件动态查询 )
java·sql·java-ee·mybatis·mapper·sql映射