首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
阶段3 1.Mybatis_11.Mybatis的缓存_5 缓存的概念
】的更多相关文章
阶段3 1.Mybatis_11.Mybatis的缓存_8 mybatis的二级缓存
二级缓存: 它指的是Mybatis中SqlSessionFactory对象的缓存.由同一个SqlSessionFactory对象创建的SqlSession共享其缓存. 二级缓存的使用步骤: 第一步:让Mybatis框架支持二级缓存(在SqlMapConfig.xml中配置) 第二步:让当前的映射文件支持二级缓存(在IUserDao.xml中配置) 第三步…
阶段3 1.Mybatis_11.Mybatis的缓存_6 Mybatis中的一级缓存
Mybatis中的一级缓存和二级缓存 一级缓存: 它指的是Mybatis中SqlSession对象的缓存. 当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供一块区域中. 该区域的结构是一个Map.当我们再次查询同样的数据,mybatis会先去sqlsession中 查询是否有,有的话直接拿出来用. 当SqlSession对象消失时,myb…
阶段3 1.Mybatis_11.Mybatis的缓存_5 缓存的概念
2.Mybatis中的缓存 什么是缓存 存在于内存中的临时数据. 为什么使用缓存 减少和数据库的交互次数,提高执行效率. 什么样的数据能使用缓存,什么样的数据不能使用 适用于缓存: 经常查询并且不经常改变的. 数据的正确与否对最终结果影响不大的. 不适用于缓存: 经常改变的数据 数据的正确与否对最终结果影响很大的.…
阶段3 1.Mybatis_11.Mybatis的缓存_7 触发清空一级缓存的情况
如果数据库的数据和一级缓存的数据不一致了,怎么做到同步的呢? 增加一个更新 用户信息的方法 增加更新的节点配置 测试类增加测试方法.先查询id为41的 然后更新了41的数据.再次查询41的数据 先把更新代码剪切到测试. 由于有缓存的存在,所以只查了一遍 把更新的操作粘贴回来. 更新后的操作 又执行了新的select查询 也就是执行了update方法后,一级缓存被清空了..…
阶段3 1.Mybatis_11.Mybatis的缓存_4 mybatis一对多实现延迟加载
改成单表查询 首先配置的是select.他需要配置的值是accountDao中的方法,查询所有的账户,但是必须有条件.根据用户的id column配置的是id.因为要用user表的id去关联查询 AccountDao增加findAccountByUid方法 映射文件只需要封装到resultType里面即可 运行测试 调用测试方法 已经开始有延迟加载了. 注释掉循环的内容. 值查询了一个user表的sql…
阶段3 1.Mybatis_11.Mybatis的缓存_3 mybatis一对一实现延迟加载
不用骨架创建项目 复制一对多的代码src下的代码到我们刚才创建的项目里面 把依赖信息复制过来 这里原来实现的功能是立即加载的功能.sql语句是一次性查询的两个表关联的查询. 调整代码 删除AccountUser这个类 AccountTtest只保留findAll的方法 associaiton先剪切掉. 修改后 先运行这个单表操作 别名的问题 这是下面这个方法配置引起的.删掉下面红框内的代码即可. 再次来执行.正常执行成功 配置延迟加载 这里我们需要使用一个新的属性,叫做select 其实sele…
阶段3 1.Mybatis_11.Mybatis的缓存_2 延迟加载和立即加载的概念
用户关联的account信息,假设一个用户管理的account有100个.那么我们在查询用户的时候那100个关联的信息也被查询出来. 用的时候才去查关联的数据 这两个不同的地方就是查询的时机不同 什么是延迟加载 在真正使用数据时才发起查询,不用的时候不查询.按需加载(懒加载) 什么是立即加载 不管用不用,只要一调用方法,马上发起查询. 在对应的四种表关系中:一对多,多对一,一对一,多对多 一对多,多对多:通常情况下我们都是采用延迟加载.(用…
阶段3 1.Mybatis_11.Mybatis的缓存_1 今日课程安排
…
阶段3 1.Mybatis_12.Mybatis注解开发_5 mybatis注解建立实体类属性和数据库表中列的对应关系
创建新项目,一对多 复制刚才关闭的项目的文件 复制到们的新项目里面 复制包的依赖 删减相关代码.只保留这三个查询的方法 模糊查询改成传统的占位符的方式 之前是可以自定义实体类的属性字段,和数据库的字典不一致 增加测试方法 除了用户民 其他都是null值 @Results注解 这个注解包含了id和多个result 里面还有还有一个@Result注解 如果是主键把id设置为true,id默认为false 所有第一个id这里我们设置为true,表示id字段是主键 其他的字段可以不用因为id 默认为fa…
阶段3 1.Mybatis_12.Mybatis注解开发_8 mybatis注解开发使用二级缓存
执行两次都查询userId为57的数据.测试一级缓存 返回true 新建测试类 ,测试二级缓存 二级缓存的配置 首先是全局配置,不配置其实也是可以的.默认就是开启的.这里为了演示配置上 dao类里面进行配置 运行测试方法 只查询了一次…