Mybatis的延迟加载
来源:互联网 发布:js 同时满足两个条件 编辑:程序博客网 时间:2024/06/05 22:56
前边我们讲过了mybatis中的高级查询--关联查询。关联查询主要有三种方式,分别是一对一查询,一对多查询,多对多查询。其中一对一需要在resultMap节点中使用子节点assocaition节点;一对多关联查询需要在resultMap节点中使用collection节点;多对多就需要将上述的assocaition和collection节点一起使用。同时,我们在讲关联查询的时候,需要明确注意的是查询节点的返回值类型的选取,即resultMap和resultType。一般当我们对查询结果没有特殊要求的时候选取resultType最为方便,当对执行SQL之后的查询结果有特殊要求的时候或者查询结果和POJO类属性不对照的时候,我们就要使用resultMap,特殊要求可以指:一对多中的将多条关联记录映射到POJO类中的list属性中,等等。
今天我们来讲一讲延迟加载。
我们在Hibernate中已经学习过了延迟加载,即先执行简单查询,当需要关联查询时再去执行关联查询。好处是:提高了访问数据库的性能,减少了数据库的压力。因为单标查询要比关联查询速度更快。
Mybatis也是有延迟加载的。但是仅仅是在resultMap返回类型的association和collection节点在才可以设置开启延迟加载的内容。而且我们需要在全局配置文件中设置两个参数,lazyLoadingEnable=true--将程序的延迟加载的功能打开--aggressiveLazyLoading=false--并采用消极加载的方式来延迟加载。
具体的做法就是需要在mapper.xml中定义两个SQL来分别指明当前statement的SQL和关联的延迟加载的statement的SQL.
其中关联的statement需要在resultMap中的assocaition或者collecttion中指明并且需要指明关联查询的字段是主查询的哪个字段即可。
- Mybatis的延迟加载
- mybatis的延迟加载
- Mybatis的延迟加载
- mybatis的延迟加载
- mybatis 的延迟加载
- Mybatis的延迟加载
- Mybatis的延迟加载
- MyBatis延迟加载的问题
- 使用mybatis的延迟加载
- mybatis的延迟加载 (懒加载)
- MyBatis的延迟加载的配置
- mybatis的延迟加载,一级缓存,二级缓存
- mybatis的延迟加载和一、二级缓存
- mybatis中使用延迟加载的配置
- mybatis的延迟加载、一级缓存、二级缓存
- MyBatis延迟加载
- mybatis延迟加载
- MyBatis延迟加载
- muduo源码学习(11)-日志类封装1
- Java面试个人整理(手打勿喷,易于个人学习)2
- Java消息中间件ActiveMQ初体验
- C++中extern关键字的使用
- 存储专栏:深度解读高端存储的快照技术
- Mybatis的延迟加载
- 阿里云安全科学家吴翰清入选MIT TR35,你知道弹性安全网络技术吗?
- Oracle习题
- 微信分享功能
- JAVA 通过 Socket 实现 TCP 编程
- Oracle:关于安装oracle中踩得坑以及plsql的安装使用中的坑
- Struts2的配置文件加载顺序及常用常量名及更改方法、注意事项
- GitHub开源控件的使用合集
- swing之mvc模式