• 【SSM框架】Mybatis详解11(源码自取)之事务,缓存,ORM


    • 🧛‍♂️个人主页:杯咖啡
    • 💡进步是今天的活动,明天的保证!
    • ✨目前正在学习:SSM框架,算法刷题
    • 👉本文收录专栏:SSM框架解析
    • 🙌牛客网,刷算法过面试的神级网站,用牛客你也牛。 👉免费注册和我一起学习刷题👈
    • 🐳希望大家多多支持🥰一起进步呀!
    • 😎The man who fears losing has already lost.
      怕输的人已经输了。 - 《权力的游戏》

    ✨前言

    因为开学和参与比赛断更了两周,从这周开始将持续更新每周一篇,详解SSM
    上节我们复习到表的关联关系.
    本节我们复习到的知识是事务,缓存,ORM
    和我一起复习下去你可以获得一个比较完美框架demo,并且深刻体会框架
    坚持到最后的源码解析你会收获更多哦,加油坚持!!!



    事务

    多个操作同时完成,或同时失败称为事务处理.
    事务有四个特性:一致性,持久性,原子性,隔离性.
    下订单的业务

    在我们下订单的时候,需要以下几步,如果任何一个步骤出现问题,那么整个业务就要全部回滚。
    1)订单表中完成增加一条记录的操作
    2)订单明细表中完成N条记录的增加
    3)商品数据更新(减少)
    4)购物车中已支付商品删除
    5)用户积分更新(增加)

    
            <transactionManager type="JDBC">transactionManager>
    

    在这里插入图片描述

    同时我们也可以设置自动提交

    //3.取出sqlsession
           sqlSession = factory.openSession();
           sqlSession = factory.openSession(true);
    

    在这里插入图片描述

    缓存

    缓存就是为了提交查询效率
    MyBatis框架提供两级缓存,一级缓存和二级缓存.默认开启一级缓存.
    使用缓存后,查询的流程:
    查询时先到缓存里查,如果没有则查询数据库,放缓存一份,再返回客户端.下次再查询的时候直接从缓存返回,不再访问数据库.如果数据库中发生commit()操作,则清空缓存.

    一级缓存使用的是SqlSession的作用域,同一个sqlSession共享一级缓存的数据.
    二级缓存使用的是mapper的作用域,不同的sqlSession只要访问的同一个mapper.xml文件,则共享二级缓存作用域.

    在这里插入图片描述

    这里小编写了一个测试类,很明显可以看到两次取出的对象为同一个。
    在这里插入图片描述

    ORM

    ORM(Object Relational Mapping):对象关系映射
    MyBatis框架是ORM非常优秀的框架.

    java语言中以对象的方式操作数据,存到数据库中是以表的方式进行存储,对象中的成员变量与表中的列之间的数据互换称为映射.整个这套操作就是ORM.

    持久化的操作:将对象保存到关系型数据库中 ,将关系型数据库中的数据读取出来以对象的形式封装
    MyBatis是持久化层优秀的框架.

    持久化:从内存中读取数据进数据库
    从数据库中返回数据给内存
    这个过程称为持久化


    ✨总结

    本节复习了事务,缓存,ORM
    下一节我们将会进行简单的源码分析
    本次源码放在代码仓库gitee,自取链接

    原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

    点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

    收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

    评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

  • 相关阅读:
    针对《VPP实现策略路由》的修正
    C51--开发环境
    html和css语法记录
    R语言python时间序列处理
    Java实现十进制与二进制互相转换
    Java学习笔记(三十一)
    9.13作业
    HTMl案例二:注册页面
    uniapp 高德地图与百度地图精准定位,高德地图定位报错
    我的自编全线连线计算程序目前世界领先技术水平
  • 原文地址:https://blog.csdn.net/muzi_longren/article/details/127117105