MyBatis:延迟加载介绍及配置
2018-01-09 17:16
302 查看
一、什么是延迟加载:
代码中有查询语句,当执行到查询语句时,并不是马上去DB中查询,而是根据设置的延迟策略将查询向后推迟。
二、MyBatis的延迟加载只能在对关联对象进行查询时使用延迟加载。
三、主加载对象、关联对象、主表、关联表的概念:
比如我们country表里有多个国家,minister表里有某个国家所对应的官员,我们查country时,并一带将其中的minister查出来,这里的Country就是主加载对象,对应的表就是主表,Minister就是关联对象,对应的表就是关联表。
四、延迟加载策略(指到DB中真正执行select语句进行查询的时机设置):
(一),直接加载:遇到代码中查询语句,马上到DB中执行select语句进行查询;【这种只能用于多表单独查询】
(二),侵入式延迟加载:将关联对象的详情(具体数据,如id、name)侵入到主加载对象,作为主加载对象的详情的一部分出现。当要访问主加载对象的详情时才会查询主表,但由于关联对象详情作为主加载对象的详情一部分出现,所以这个查询不仅会查询主表,还会查询关联表。
(三)、深度延迟加载:当需求访问主加载对象详情时,只会查询主表,而不会查询关联表,只有真正访问关联对象详情时,才会查询关联表。
五、使用延迟加载的目的:减轻DB服务器的压力。
六、配置(在主配置文件中配置):
注意:要在properties标签之后,typeAliases标签之前定义。
主配置文件延迟加载配置
代码中有查询语句,当执行到查询语句时,并不是马上去DB中查询,而是根据设置的延迟策略将查询向后推迟。
二、MyBatis的延迟加载只能在对关联对象进行查询时使用延迟加载。
三、主加载对象、关联对象、主表、关联表的概念:
比如我们country表里有多个国家,minister表里有某个国家所对应的官员,我们查country时,并一带将其中的minister查出来,这里的Country就是主加载对象,对应的表就是主表,Minister就是关联对象,对应的表就是关联表。
四、延迟加载策略(指到DB中真正执行select语句进行查询的时机设置):
(一),直接加载:遇到代码中查询语句,马上到DB中执行select语句进行查询;【这种只能用于多表单独查询】
(二),侵入式延迟加载:将关联对象的详情(具体数据,如id、name)侵入到主加载对象,作为主加载对象的详情的一部分出现。当要访问主加载对象的详情时才会查询主表,但由于关联对象详情作为主加载对象的详情一部分出现,所以这个查询不仅会查询主表,还会查询关联表。
(三)、深度延迟加载:当需求访问主加载对象详情时,只会查询主表,而不会查询关联表,只有真正访问关联对象详情时,才会查询关联表。
五、使用延迟加载的目的:减轻DB服务器的压力。
六、配置(在主配置文件中配置):
注意:要在properties标签之后,typeAliases标签之前定义。
主配置文件延迟加载配置
相关文章推荐
- MyBatis:延迟加载介绍及配置
- MyBatis--延迟加载--加载配置
- mybatis基本增删改查、缓存,延迟加载以及别名的配置
- MyBatis延迟加载及在spring中集成配置
- MyBatis延迟加载及在spring中集成配置
- MyBatis 配置延迟加载
- mybatis 配置延迟加载 和 缓存
- MyBatis的延迟加载的配置
- mybatis中使用延迟加载的配置
- mybatis+spring 整合配置延迟加载
- 配置mybatis的缓存,延迟加载等等一系列属性
- mybatis的一对一,一对多查询,延迟加载,缓存介绍
- mybatis的延迟加载 (懒加载)
- mybatis多表关联查询 - N+1次查询+延迟加载
- mybatis加载配置文件测试
- Junit 修饰控制符 标识符 Bean 延迟加载 生命周期 作用域 配置声明 maven clean
- MyBatis--延迟加载--加载时机
- Spring4.X + Spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍
- Mybatis查询延迟加载详解及实例
- 关于mybatis延迟加载总结