概述
[Mybatis中的延迟加载]
- 问题: 在一对多中,当我们有一个用户,它有100个账户。
在查询用户的时候,要不要把关联的账户查出来?
在查询账户的时候,要不要把关联的用户查出来?
在查询用户时,用户下的账户信息应该是,什么时候使用,什么时候查询的。
在查询账户时,账户的所属用户信息应该是随着账户查询时一起查询出来。 - 什么是延迟加载
在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载) - 什么是立即加载
不管用不用,只要一调用方法,马上发起查询。 - 在对应的四种表关系中:一对多,多对一,一对一,多对多
一对多,多对多:通常情况下我们都是采用延迟加载。
多对一,一对一:通常情况下我们都是采用立即加载。
基本的程序还是沿用之前的表格操作程序,这里只写出关键代码。
1.SqlMapConfig.xml的延迟加载配置
<!--配置参数-->
<settings>
<!--开启Mybatis支持延迟加载-->
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="false"></setting>
</settings>
注意:settings标签配置要在configuration标签里且要按照顺序。
以下是各个标签在configuration标签里的排列顺序:
"configuration(按照顺序写,否则报错)" 的内容必须匹配 "(properties, settings,typeAliases, typeHandlers, objectFactory, objectWrapperFactory, reflectorFactory, plugins, environments ,databaseIdProvider, mappers)
2. IAccountDao.xml和IUserDao.xml的配置
IAccountDao.xml
IUserDao.xml
最后
以上就是迷你信封为你收集整理的mybatis黑马:延迟加载的全部内容,希望文章能够帮你解决mybatis黑马:延迟加载所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复