[Mybatis中的延迟加载]
- 问题: 在一对多中,当我们有一个用户,它有100个账户。
在查询用户的时候,要不要把关联的账户查出来?
在查询账户的时候,要不要把关联的用户查出来?
在查询用户时,用户下的账户信息应该是,什么时候使用,什么时候查询的。
在查询账户时,账户的所属用户信息应该是随着账户查询时一起查询出来。 - 什么是延迟加载
在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载) - 什么是立即加载
不管用不用,只要一调用方法,马上发起查询。 - 在对应的四种表关系中:一对多,多对一,一对一,多对多
一对多,多对多:通常情况下我们都是采用延迟加载。
多对一,一对一:通常情况下我们都是采用立即加载。
基本的程序还是沿用之前的表格操作程序,这里只写出关键代码。
1.SqlMapConfig.xml的延迟加载配置
复制代码
1
2
3
4
5
6
7<!--配置参数--> <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黑马内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复