10.0简介|学习笔记

简介: 快速学习10.0简介

开发者学堂课程【高校精品课-厦门大学 -JavaEE 平台技术10.0简介学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/80/detail/15944


10.0简介


mybatis 原理及实现机制

这节课要讲的内容是关于 mybatis 的原理和实现的机制,所以花两节课时间来讲一

下 mybatis 的设计。

关于 mybatis 大家都很熟悉了,其是一个 orm 的框架,在所有的软件设计中间,通过前段时间的必做模块,应该能够感受到越偏底层的软件,其实它可以用面向对象的东西就越多,越偏业务的东西,其实用的就越少。

比如两个必做模块,很明显对于权限模块来说,基本上就是正常改查,所以除了按照规定的层次体系结构去写以外,没有特别多的可以发挥的空间。但是对于通用定时模块,因为它相对比较偏技术一点,跟业务没有太大的关系,所以会发现在通用

定时模块之间,会用到一些比较不常用的技术,会在设计上用到一到两个设计模式实现所要的东西。特别是因为通用定时的系统本身它就是要有一定的重用性,要能够去实现各种各样的定时业务,所以才会在设计上面发现其会有更多的要求。

而框架其实是在所有的系统中间、设计中间,面向对象设计用的最频繁、最多的一

个地方。

什么是框架,应该都非常熟悉,框架它是不能够自己独立运行的,框架里面设计和

实现的就是一些常用的、可以重用的代码。

但可以重用的代码,其实它是不能跑起来的,需要加上自己的东西,才能把它用到

一个具体的系统中间去。

Spring 、mybatis 的框架是这样,具体到 mybatis 的框架里面,知道它是用来做 ormping 的,所以意味着,在设计的时候需要去考虑到可以用在所有要去做

ormping 的场合,但是又要去考虑在每一个系统中间,需要 ormping 的对象,或者需要去操作数据的方式,又是不一样的。如何使得不一样的操作数据方式不会影响整个框架的代码,或者说,框架的代码如何以最小的代价来实现最大的灵活性,这都是在面向对象中间所要面对的问题。

mybatis 是一个相对比较成熟的框架,也是一个相对比较简单的框架。熟知 orm 的

框架其实有两种,一个是 mybatis,一个是 hibernate。

后者设计会比前者还要复杂,因为它里头不仅仅要管 ormping ,还要管着那些对

象在运行的时候,它跟数据库里头表记录的对应关系,以及改的对象它如何更新回去。

所以它的实现和设计会更加复杂,以相对比较简单的 mybatis 为例,来看一下熟悉

的 ormping 在 mybatis 是怎样实现的。

相关文章
|
安全 C++
【C ++】C++入门知识(二)
C++入门(二) 作者:小卢 专栏:《C++》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》
64 0
|
8月前
|
存储 安全 编译器
c++入门
c++入门
90 0
|
7月前
|
编译器 Linux C语言
1.C++入门(中)
1.C++入门(中)
|
8月前
|
人工智能 分布式计算 Java
【C++入门】初识C++
【C++入门】初识C++
|
8月前
|
编译器 Linux C语言
【C++】C++入门(上)
【C++】C++入门(上)
|
Web App开发 移动开发 IDE
laya入门,这一篇应该够了
laya入门,这一篇应该够了
5186 1
|
存储 Java
ASN.1入门(超详细)
ASN.1(Abstract Syntax Notation dotone),抽象语法标记1。是定义抽象数据类型形式的标准,描绘了与任何表示数据的编码技术无关的通用数据结构。抽象语法使得人们能够定义数据类型,并指明这些类型的值。抽象语法只描述数据的结构形式,与具体的编码格式无关,同时也不涉及这些数据结构在计算机内如何存放。
1132 0
|
存储 安全 小程序
c++入门(下)
c++入门(下)
|
Linux Shell C语言
【C++】C++入门(二)
【C++】C++入门(二)
123 0
|
存储 安全 编译器
【C++】C++入门(下)
【C++】C++入门(下)
85 0

相关实验场景

更多