框架学习系列 mybatis 第二十一篇 延迟加载

框架学习系列 mybatis 第二十一篇 延迟加载

凯哥Java 凯哥java
1:什么是延迟加载?
2:延迟加载的使用
3:总结&下节预告
本文是《凯哥陪你学系列-框架学习之mybatis框架学习》中第二十一篇 延迟加载
声明:本文系凯哥Java(www.kaigejava.com)原创,未经容许,禁止转载!
一:什么是延迟加载?
延迟加载又叫懒加载,又叫按需加载。
也就是说,先加载主信息,在须要的时候,在去加载从信息。
在mybatis中,resultMap标签的association标签和collection标签具备延迟加载的功能。
二:延迟加载的使用(以association标签为例)
需求:查询订单信息,来关联查询用户信息(见:框架学习系列 mybatis 第十七篇 高级结果映射一)
原sql语句:java

SELECT 
orders.`id`,
orders.`user_id`,
orders.`number`,
user.`username`,
user.`sex` 
FROM
orders,
USER 
WHERE orders.`user_id` = user.`id`

框架学习系列 mybatis 第二十一篇 延迟加载
两个sql语句之间的关系是订单表的用户id=用户表的id
根据需求咱们能够分步骤进行查询:
1:建立一个sql语句来查询订单信息
2:建立一个sql语句来查询用户信息
3:设置懒加载来处理
2.1:建立查询订单信息的映射文件
框架学习系列 mybatis 第二十一篇 延迟加载
2.2:建立查询用户信息的sql:
框架学习系列 mybatis 第二十一篇 延迟加载
2.3:mapper接口中
框架学习系列 mybatis 第二十一篇 延迟加载
2.4:开启延迟加载。
还记得以前说的全局变量名?setting标签设置延迟的。
在sqlMapConfig.xml中,配置setting标签
框架学习系列 mybatis 第二十一篇 延迟加载
2.5:测试类
框架学习系列 mybatis 第二十一篇 延迟加载
三:下节预告
在下节中,咱们将要开始学习缓存了。mybatis的缓存有几种?怎么配置?欢迎学习下一篇sql

相关文章
相关标签/搜索