Mybaitis入门基础(一)MyBatis的概念引入及工作原理

一:框架前言的那些事

良将难求 胜铁骑三千 益友知遇 领人间无数,三国鼎立中魏、蜀,吴三国的三位皇帝曹操、刘备、刘权他们都有很多谋士(出谋划策的人)。这些谋士其实就是他们出攻城略地的策划方案的,而他们能否成功取决于策划方案是否周全,能高屋建瓴的布局,并且能纵观全局进行排兵布阵。先做什么,再做什么,还是很有说法的,在有天赋的同时还得遵循一定的发展规律,那么众所周知java学习分为三个部分:java基础,java高级,javaweb框架部分。在我们之前的学习过程中我们要想把数据库的数据成功的展示在web页面上,我们使用的是jdbc、servlet、jsp技术。这也是我们接触的最基础入门基的mvc结构,即model数据访问层我们使用的是jdbc,view视图层我们使用的是jsp或html+ajax,controler控制层我们使用的是servlet最为后台java语言和前端jsp和html之间数据传递转换的的中间人,即客户端和后台服务器端数据沟通的媒介和桥梁。

各位大佬都知道数据持久化是使用java技术将内存中的瞬时数据转换为持久化的状态,说白了就是java类型的数据和数据库类型的数据做下转换。服务器端的是将后台java形式的数据送回到客户端进行展示,即将数据响应到客户端。客户端是根据客户的需求将请求发送给服务器端进行请求处理的。

话不多说,先看看我们学习过的mvc结构,代码的调用过程是什么样的。

数据持久化 调用 服务器端 调用 客户端

Model ↔ controller ↔ view

jdbc new servlet new jsp/html+ajax

那我们再来看看后期学习的框架后的mvc结构,代码的调用过程是什么样的。

数据持久化 调用 服务器端 调用 客户端

Model ↔ controller ↔ view

mybatis new servlet new jsp/html+ajax/html+vue

mybatis spring servlet spring jsp/html+ajax /html+vue

mybatis spring springMVC spring jsp/html+ajax /html+vue

mybatis spring springBoot spring jsp/html+ajax /html+vue

那么问题来了我们为什么学习新框架呢?他们完成的功能不是一样的吗?那我来考考你,看下你平时是不是关注过生活细节,long long age 很久以前,我们去银行开卡,存钱,取钱,是不是都在柜台上办理,银行有很多个窗口,都有穿着制服的小哥哥小姐姐,在给客户办理业务。但是现在再去银行,你是不是发现,银行窗口办理业务的小哥哥和小姐姐只有一两个了,而大厅里却多了很多机器,很多客户在机器边排队等待自己在机器上办理业务了。这是不是银行在提高了办理业务效率的同时,还节约了人员成本呢?这家银行办事效率提高了,是不是就可以转而去提高服务质量了,这样这家银行是不是就会很受大家欢迎,这家银行是不是就在同时提高了客户满意度的同时,也就能赚钱多多啦?这是不是就达到了双赢的目的。企业嘛就是以赚钱为主,无论是国企还是私企。此处有人就问holly姐说了这么多,这和我们学习框架某个毛线关系啊?别急呀,听我细细道来,其实我们软件开发追根溯源就是围绕着增删改查在玩。企业也想达到双赢,有能赚钱多多,用人成本又能很低。那怎么解决呢?就是优化我们的工作方式和技术。比如原来用jdbc能开发企业级软件项目吗?能,但是开发周期可能会很长,可能用jdbc开发周期要1年,但是用了框架我们可能开发周期编程6个月了。假设是同一个团队,一年开发一个项目任务,创造的价值是200w,每个人的薪资老板只能开8k。如果同样的团队,一年开发两个项目任务,创造的价值是400w,也许老板吃到肉吃饱的同时,会让你们喝汤,这个时候每个人的薪资老板可能给你开到13k左右。这已经是有良心的老板喽!框架其实就是优化了原来最传统的一些开发技术,提高了开发效率,自己写的代码也可以打包优化,重复使用。现在晓得了吧?那么说了大半天,jdbc即将要被替代掉,那它问题出现在哪呢 ?

Original: https://www.cnblogs.com/holly8/p/16182900.html
Author: 红酒人生
Title: Mybaitis入门基础(一)MyBatis的概念引入及工作原理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/609773/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 架构安全性设计、部分示例及原理分析

    HTTP 协议是一种无状态的传输协议,每一个请求都是完全独立的,所以一般web开发都会采用cookie-session机制让服务器有办法能够区分出发送请求的用户是谁,在服务器中会维…

    Java 2023年6月7日
    052
  • MINIO使用

    1.作用 官网地址:https://docs.min.io/ 文件存储。文件对象的上传、下载和删除! 2.使用依赖 io.minio minio 8.4.3 3. 构建client…

    Java 2023年6月9日
    077
  • Linux具体目录结构

    Linux具体目录结构 root : 该目录为系统管理员目录,root是具有超级权限的用户。 bin ->usr/bin : 存放系统预装的可执行程序,这里存放的可执行文件可…

    Java 2023年6月9日
    065
  • Executors创建四种线程池

    newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定…

    Java 2023年5月29日
    087
  • 图解KMP字符串匹配算法+代码实现

    kmp算法跟之前讲的bm算法思想有一定的相似性。之前提到过,bm算法中有个好后缀的概念,而在kmp中有个好前缀的概念,什么是好前缀,我们先来看下面这个例子。 观察上面这个例子,已经…

    Java 2023年6月9日
    068
  • 人类的规划能力有多强大?

    本文章译自OptaPlanner官网上,Geoffrey De Smet先生的博文,链接如下: https://www.optaplanner.org/blog/2015/06/0…

    Java 2023年6月16日
    090
  • 什么是线上优雅停机和调整线程池参数?

    我是3y,一年 CRUD经验用十年的 markdown程序员👨🏻‍💻常年被誉为职业八股文选手 好几天没更新 austin的系列文章啦,主要是一直在写 austin的代码。而这篇文章…

    Java 2023年6月9日
    092
  • 设置颜色与画笔

    设置画笔 默认情况下,Graphics绘图类 使用的画笔属性是粗细为I个像素的正方形,而Graphics2D类可以调用 setStroke()方法 设置画笔的属性,如改变线条的粗细…

    Java 2023年6月9日
    085
  • 约瑟夫环问题(C语言)

    单链表实现约瑟夫环问题 约瑟夫环 这里建议使用 循环单链表 代码实现(c语言) #include #include typedef struct node{ int data; s…

    Java 2023年6月5日
    076
  • Springboot整合RocketMQ简单使用

    简单研究下Springboot 整合RocketMQ。 使用的是Apache的rocketmq-spring-boot-starter 1. 初始化项目 pom 文件

    Java 2023年5月30日
    095
  • SpringMVC整合FastJson:用”最快的json转换工具”替换SpringMVC的默认json转换

    一.环境说明 Windows 10 1709 Spring 4.3.12.RELEASE FastJson 1.2.40 IDEA 2017.3 JDK 1.8.0_144 二.开…

    Java 2023年5月30日
    075
  • 草履虫都能看懂的系统环境变量配置

    超详细的环境变量配置教学(Windows10) 很多刚刚入坑计算机的小伙伴可能对环境变量的配置不太熟悉,如果你还在找教程,那么看到这里,你就不用继续找了(嘿嘿~),废话不多说,让我…

    Java 2023年6月5日
    079
  • 想入门数据结构,却总是拜倒在链表的石榴裙下?

    大家好,我是melo,一名大二上软件工程在读生,经历了一年的摸滚,现在已经在工作室里边准备开发后台项目啦不过这篇文章呢,还是想跟大家聊一聊数据结构与算法,学校也是大二上才开设了数据…

    Java 2023年6月5日
    087
  • C语言输出九九乘法表

    C语言学了有一阵子了,趁着假期没事练练手,没想到挺简单 基本思路是这样的 先写一个主函数,然后定义两个变量i1和i2;使用for语句循环嵌套,外层循环负责写循环9次,内循环里面写从…

    Java 2023年6月9日
    0105
  • java 中为什么重写 equals 后需要重写 hashCode

    本文为博主原创,未经允许不得转载: 1. equals 和 hashCode 方法之间的关系 这两个方法都是 Object 的方法,意味着 若一个对象在没有重写 这两个方法时,都会…

    Java 2023年5月29日
    069
  • Vim编辑器以及linux常用命令

    Shift+G tar -xvf *.tar firewall-cmd –list-ports firewall-cmd –reload systemctl…

    Java 2023年6月8日
    059
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球