1. 开篇:既简单又复杂的基础框架

news2024/10/6 16:16:43

同样的基础但不简单

之前在写 《从 0 开始深入学习 Spring》 小册时,阿熊提到过一件事:学习 JavaEE 开发的第一个框架,大多数是推荐 MyBatis 的,因为它相对简单,学习起来也相对轻松。不过不要因为 MyBatis 入门简单,就认为 MyBatis 这个框架简单。MyBatis 自打 2001 年问世,到 2004 年出来 iBATIS 2.0 ,再到 2010 年发布 MyBatis 3.0 ,这个框架的设计和底层一直都广受研究,也有不少开发者从中汲取到了宝贵的设计经验。总的来说,MyBatis 是一个非常优秀的持久层框架,是一个使用起来简单的框架,同时也是一个值得我们去深入研究和探索的框架

MyBatis的核心真的不少

仔细翻看一下 MyBatis 的核心特性,会发现还是不少的:

其中不乏有很多是我们之前学习基础时就了解过的,当然也有一些是隐藏在底层没有让我们直接操控的(比方说解析器、绑定器等等)。既然我们是要深入 MyBatis 的内部,那这些隐藏的模块和特性我们同样需要了解。

小册涉及到的广度和深度

同样的,我们先来聊聊这本小册涉及到 MyBatis 知识的广度和深度。如果小伙伴已经大致的浏览过目录和上面的导图概览,可以发现涉及到的内容那是相当广了,而且深度也足够了(试问阿熊的小册哪本不是深度满满?)。广度的学习需要小伙伴对 MyBatis 的基础知识有所掌握(最起码会用吧),毕竟用过之后再扩展的话更容易接受;深度的学习还是跟之前的小册一样,小册会带各位深入源码中剖析 MyBatis 的底层设计的逻辑,梳理整个流程的脉络。

希望能通过小册对 MyBatis 的知识深入讲解,帮助小伙伴们一步一步,从小白成长为大佬,走向人生巅峰,迎娶白富美(再次划掉...)。

小册的行文思路

这次小册的行文思路与 SpringFramework 的小册不同,由于 SpringFramework 本身的模块区分非常明显( IOC 、AOP 、Dao 、Web ),而 MyBatis 本身框架比较简单,内部设计的模块和特性都不算大,也没有一个特别明显的大面上的划分,所以本小册的行文大致是以一个核心特性 / 模块的基础回顾 → 使用示例 → 高级使用方法 → 原理分析的风格,当然这其中核心特性的讲解会穿插着 MyBatis 的执行流程和生命周期的剖析,后面小册也有专门的几章讲解 MyBatis 的整体生命周期,以及工作流程的执行机制,二者是相辅相成、相互照应的。

希望各位小伙伴在阅读小册时尽可能的跟着小册做好练习和随手笔记,相信大家读完小册后,会对 MyBatis 框架产生一个新的认识,也能从更高的角度和水平驾驭 MyBatis 框架。

留言

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/37291.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【电商】管理后台篇之安全、菜单、通知管理

系统管理第一篇我们介绍了账号管理相关的业务,这一篇我们介绍下其他几个常见的业务:安全管理、菜单管理和通知管理。 本篇介绍的几个常见业务如下: 安全管理:监控每个账号的登录情况和操作情况通知管理:给使用后台系统…

[附源码]计算机毕业设计JAVA企业信息网站

[附源码]计算机毕业设计JAVA企业信息网站 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis M…

自定义qtquick 插件模块,支持qmldesigner

自定义qtquick 插件模块,支持qmldesigner wmxModule.pro #------------------------------------------------- # # Project created by wmx # #-------------------------------------------------QT core qml quickTARGET wmxModule TEMPLATE lib CONF…

图像处理QPixmap、Picture、QBitmap

QPixmap 类是一种可用作绘制设备的屏幕外图像表示形式。 QPixmap可以使用QLabel或QAbstractButton的子类之一可以轻松显示在屏幕上 QPixmap 对象可以按值传递,因为 QPixmap 类使用隐式数据共享,也可以流式传输。 QPixmap可以和QImage之间进行转换&…

【关于lombok框架一文秒懂】

目录 1. Lombok框架 2. 安装lombok插件 1. Lombok框架 Lombok框架是用于在编译期自动生成相关代码的,例如:Setters & Getters、hashCode()、equals()、toString()、无参数构造方法、全参数构造方法等。 相关的注解有: Data&#xff1…

python中的编码格式

1- 字符集和编码 1) 初代编码 – ASCII 1- 物理机与电脑的交互:物理机中有个组件叫二极管, 可以通过电流通过二极管显示的高电平和低电平来记录信号。 2- 二极管的高电平和低电平则被计算机解读为0 和 1 3- 多个0和1拼接起来成为了二进制数据…

自动化测试框架设计原理详解

一、自动化测试场景 1、测试四象限 并不是所有测试类型都适合自动化。哪些测试更适合自动化?哪些更适合手工测试? 根据Brain Marick提出的测试四象限,我们可以对测试进行归类,将其划分到4个象限中,以解答这些问题,如下图所示。 第一象限:面向技术和指导开发,该象限中…

ActivityPub 笔记

ActivityPub 协议是一个去中心化的社交网络协议,其基于 ActivityStreams 2.0 数据格式。 在 ActivityPub 协议里,一个用户在服务器上的角色为“参与者(actor)”。用户在不同的服务器上的角色为不同的“参与者”。每一名“参与者”…

LSTM和GRU

LSTM和GRU RNN的优缺点 优点: 可以捕获序列之间的关系;共享参数。 缺点: 存在梯度消失和梯度爆炸问题;RNN的训练是一个比较困难的任务;无法处理长序列问题。 LSTM LSTM可以处理长序列问题,同样在之前…

openssl做文件处理(base64,MD5,sha256等)

这次使用openssl,发现openssl不仅可以用来做加密和解密,实际上也可以用来做文件的处理,比如base64转码、解码,文件md5的计算等。实现这些,即可以从命令行去做,也可以通过代码去实现。 1. 命令行操作 1. ba…

【ML特征工程】第 5 章 :分类变量:机器鸡时代的鸡蛋计数

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

想做副业没有方向,这三条告诉你什么是副业思维

怎样副业赚钱?教你几招,掌控自己的固有思维 你了解钱是怎么来的吗?你如果弄不懂这一点,你也是很难赚到钱的。 钱不是苦的,辛苦努力挣的基本都是一点钱。 假如将你的工作时长换为钱,你可以清晰地赚多少钱…

Java并发-线程上下文切换与死锁

理解线程的上下文切换 概述:在多线程编程中,线程个数一般都大于 CPU 个数,而每个 CPU 同一时-刻只能被一个线程使用,为了让用户感觉多个线程是在同时执行的, CPU 资源的分配采用了时间片轮转的策略&#x…

javacc之路0--- 安装与使用

官网: https://javacc.github.io/javacc/ https://github.com/javacc/javacc#getting-started 安装 下载解压 执行: mvn package 将 javacc-7.0.10.jar 重命名为 javacc.jar 并将目录下的scripts文件夹加入到环境变量中。 执行javacc命令验证是否成功…

【Qt 按钮】QPushButton所有函数和样式

【Qt 按钮】QPushButton所有函数和样式一、QSS语句 (界面样式大全)二、 构造函数三、Geometry (获取属性)四、 QFont五、setFont六、text七、setText八、move九、resize十、adjustSize[按钮自动适应文本大小]十一、setFocus十二、…

【附源码】计算机毕业设计JAVA预约健身私教网站

【附源码】计算机毕业设计JAVA预约健身私教网站 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JAVA my…

开发人员为什么要写测试用例?

作为一名开发人员,你可能会发现周围的开发并不太喜欢写测试用例,甚至有些同学根本不写测试用例,认为写测试用例完全是浪费时间,或者是测试用例只是测试的事情。 在开发过程中,往往都是呼啦啦的写完代码,然后…

【负荷预测、电价预测】基于神经网络的负荷预测和价格预测附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

别人熬夜看世界杯 我熬夜改代码 你满意了

2022年卡塔尔世界杯正如火如荼地进行着, 一边是热火朝天的比赛,一边是让人惊掉下巴的爆冷结局, 但正因为这些不确定因素,反倒让世界杯增添了几分魅力和乐趣! 小编在看球赛的过程中,不禁起了联想&#xff…

Django+Vue中文件的上传和下载

场景:上传一个源数据Excel文件,然后根据数据处理生成另外一个Excel文件并支持下载 Django: 1.首先在Django的settings.py文件中增加配置 MEDIA_URL /media/ MEDIA_ROOT os.path.join(BASE_DIR, media)2.项目的urls.py中增加 url(r^medi…