博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis——高级查询和缓存
阅读量:4608 次
发布时间:2019-06-09

本文共 1055 字,大约阅读时间需要 3 分钟。

一个复杂的映射都是从最基层的映射配置开始的,要学会循序渐进,不要一上来就想着最简配置。

 

一对一映射

       1.使用自动映射处理一对一关系

               通过别名让mybatis自动将值匹配到对应的字段  或者  复杂的属性映射,可多层嵌套

        2.使用resultMap配置一对一映射

        3.使用resultMap的association标签来配置一对一映射

    上述三种都是关联的嵌套结果映射,通过一次sql查询,根据表或映射的属性映射到不同的对象。

           4.association标签的嵌套查询

               通过简单sql多次查询转换为我们需要的结果

                修改sql,然后

fetchType="lazy"
select="com.bdqn.simple.mapper.RoleMapper.selectRoleById" column="{id=role_id}"/>

  

一对多映射

         javaBean内部嵌套一个复杂的数据类型(集合)属性

         两种配置方式:collection集合的嵌套结果映射

                                collection集合的嵌套结果查询

         collection支持的属性和作用和association的一样,能存储一对多的数据结构肯定也能存储一对一关系。

 

缓存配置

         一级缓存:是和SqlSession绑定的,存在sqlSession的生命周期。

          在同一个sqlSession内查询,mybatis会把查询的方法和参数通过算法生成缓存的键值,将其和查询结果放入一个Map对象中.在次查询,方法名和参数相同,mybatis会取出缓存中的对象。

         insert   update   delete  都会清空一级缓存

         二级缓存:.在配置文件通过cacheEnabled默认全局启用状态

          是和映射文件的命名空间绑定的,需要<cache/>开启二级缓存..

          适合查询为主的的应用,绝大数都是以单表查询

           一般都在业务层使用可控制的缓存来替换二级缓存

 

 

 

              

 

转载于:https://www.cnblogs.com/lslshuo/p/9122444.html

你可能感兴趣的文章
innotop
查看>>
jmeter 取样器--http请求详解
查看>>
【转载】Understanding the Objective-C Runtime
查看>>
aabb碰撞检测
查看>>
Xshell连接Linux
查看>>
了解JavaScript中的内置对象
查看>>
20180530
查看>>
项目复审——Alpha阶段
查看>>
React Native Windows下环境安装(一)
查看>>
文本CSS
查看>>
JDK1.7新特性,语言篇
查看>>
javaScript判断手机型号
查看>>
应用程序设计:图书管理系统模板(链表+文件)
查看>>
遗传算法学习--多目标优化中的遗传算法
查看>>
Git的安装和使用教程详解
查看>>
列变位法解密----2015年百度之星程序设计大赛 - 资格赛
查看>>
[记录]Wdinwos scikit-learn 安装
查看>>
Tomcat配置多个文件夹
查看>>
Codeforces Round #445 Div. 1 C Maximum Element (dp + 组合数学)
查看>>
该配置节不能包含 CDATA 或文本元素
查看>>