mybatis学习
mybatis中的延迟加载
什么是延迟加载?
就是在真正使用数据时才发起查询,不用的时候不查询,按需查询。
什么是立即加载?
不管用不用,只要一调用方法马上发起查询。
对应的四种表关系:一对多,多对一,一对一,多对多
多对一,一对一:通常情况下 采用立即加载
一对多,多对多:采用延迟加载
mybatis中的缓存
什么是缓存?
存在于内存中的临时数据。
为什么使用缓存?
减少和数据库的交互次数,提高执行效率。
什么样的数据能使用缓存?
适用于缓存的:
经常查询并且不经常改变的。
数据的正确与否对最终的结果影响不大的。
不适于缓存:
经常会改变的数据
数据的正确与否对最终结果影响很大的。
mybatis中的一级缓存和二级缓存
一级缓存:指的是mybatis中的sqlsesion对象的缓存。当我们执行查询之后,查询的结果会同时存入SqlSession为我们提供一块区域中。sqlSession关闭了 缓存就不存在了。当调用SqlSession的修改,添加,删除,commit close等方法时,就会清空一级缓存。
二级缓存:指的是mybatis中slqsessiFactory对象的缓存,由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。
二级缓存使用步骤:让mybatis框架支持二级缓存;让当前的映射文件支持二级缓存;让当前的操作支持二级缓存。
mybatis的注解开发
crud 四种注解