JavaEE - 4 MyBatis关联映射与缓存机制

B站视频链接:黑马程序员Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)(第2版)_哔哩哔哩_bilibilig

目录

数据表之间的关联关系

对象之间的三种关系

 一对一查询

元素

 嵌套查询方式

嵌套结果方式

案例

 一对多查询

元素

 多对多查询


数据表之间的关联关系

一对一、一对多、多对多

对象之间的三种关系

Java对象描述数据之间的关系,就是使对象的属性与另一个对象的属性相互关联

JavaEE - 4 MyBatis关联映射与缓存机制_第1张图片

 一对一查询

association元素

JavaEE - 4 MyBatis关联映射与缓存机制_第2张图片

 嵌套查询方式

JavaEE - 4 MyBatis关联映射与缓存机制_第3张图片

嵌套结果方式

JavaEE - 4 MyBatis关联映射与缓存机制_第4张图片

案例

需求:人跟身份证的一对一关系;根据人的主键id查到人Person的信息,根据人的信息中存的 Card 的主键,在Card表中根据主键id查到card的值。

嵌套查询方式

分多条SQL语句查询

1. 根据card主键差到card的值:

JavaEE - 4 MyBatis关联映射与缓存机制_第5张图片

 2. 根据人的id查到人的信息,其中 Person 类中的 属性Card类来自上一步的查询,使用association元素:

JavaEE - 4 MyBatis关联映射与缓存机制_第6张图片

 该需求的测试类:

JavaEE - 4 MyBatis关联映射与缓存机制_第7张图片

嵌套结果方式

一条SQL查出所有数据,对结果集作映射

JavaEE - 4 MyBatis关联映射与缓存机制_第8张图片

 一对多查询

collection元素

JavaEE - 4 MyBatis关联映射与缓存机制_第9张图片

 案例:人跟订单的一对多关系,使用嵌套结果方式映射

JavaEE - 4 MyBatis关联映射与缓存机制_第10张图片

JavaEE - 4 MyBatis关联映射与缓存机制_第11张图片

 javaType = "list"  list 中的元素 ofType 是 Orders

 多对多查询

案例:订单和商品多对多,根据订单id查询订单中包含的productList

嵌套查询:

JavaEE - 4 MyBatis关联映射与缓存机制_第12张图片

 嵌套结果:

JavaEE - 4 MyBatis关联映射与缓存机制_第13张图片

JavaEE - 4 MyBatis关联映射与缓存机制_第14张图片

MyBatis缓存机制

一级缓存

JavaEE - 4 MyBatis关联映射与缓存机制_第15张图片

若进行了插入更新删除,会从数据库中查询数据

JavaEE - 4 MyBatis关联映射与缓存机制_第16张图片

 

日志配置

JavaEE - 4 MyBatis关联映射与缓存机制_第17张图片

JavaEE - 4 MyBatis关联映射与缓存机制_第18张图片

二级缓存

JavaEE - 4 MyBatis关联映射与缓存机制_第19张图片

 JavaEE - 4 MyBatis关联映射与缓存机制_第20张图片

 一级缓存默认开启,二级缓存手动开启,步骤:

JavaEE - 4 MyBatis关联映射与缓存机制_第21张图片

 JavaEE - 4 MyBatis关联映射与缓存机制_第22张图片

二级缓存,实体类必须实现序列化接口:

JavaEE - 4 MyBatis关联映射与缓存机制_第23张图片

 

默认状态的二级缓存的功能:

 

cache元素

JavaEE - 4 MyBatis关联映射与缓存机制_第24张图片

 案例:商品类别查询JavaEE - 4 MyBatis关联映射与缓存机制_第25张图片

 

你可能感兴趣的:(JavaEE,java-ee,mybatis,java)