一个新知识开始是最难学的.(万事开头难)

MyBatis大体分三层,接口层,数据处理层,基础支撑层.

其中接口层不是java中的那个interface,而是框架和程序员之间的对接.一个API,程序员可直接调用的东西.

数据查询,数据新增,这几个,就是增删改查了.select ,insert ,update,delete,(获取配置接口待更新)

总之接口层是增删改查~

而接口层这些功能是调用了数据处理层,比如传进一个对象数据,对象数据需要进行打散解析,就进入参数映射

进行各种处理,比如新建一个用户,我们需要包装成对象,User1, 而传入后,需要获取单个的值进行分解,例如User1.getUserName(), User1.getUserAge()这种老式的对象获取方法.(因为不这样的话,数据库层面可能做不了这方面的解析,就只有在这里解析了)->数据处理层.

在MyBatis中,我们的SQL写在配置文件中,我们需要从配置文件中读取我们要执行的SQL语句,(看数据处理层的第一个蓝色箭头)

之后这些解析的对象User1的解析数据就放入了SQL解析栏目,也就是将接口层传入的对象或其他数据通过了下面的处理层进行

解析后,放入了配置文件中的SQL语句!(形成了 statement 了~)

再然后,第二个蓝色箭头,就要执行statement SQL语句了. Executor是执行器.(在MyBatis源码中)

最终在执行后(第三个蓝色箭头后),框架自动封装一个查询后的数据对象. 也就是你设置好的xxx.xml的mapper中的结果类型resultType.

MyBatis通过这个类型自动将SQL执行后的数据封装成为这个类型的对象.(方便了很多,不用在手工的getString("user_name"), getInt("user_age")...等那样获取了!

MyBatis的简单入门学习的更多相关文章

  1. MyBatis(1)-简单入门

    简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.My ...

  2. 学习MyBatis之简单入门HelloWorld

    转:https://blog.csdn.net/gaomb_1990/article/details/78299784 一.准备 Eclipse:Luna Service Release 1 (4.4 ...

  3. Spring.Net 简单入门学习

    Spring.NET IoC容器的用法. 通过简单的例子学习Spring.Net 1.先创建一个控制台程序项目. 2.添加IUserInfoDal 接口. namespace Spring.Net { ...

  4. SDL 简单入门学习

    write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 概要 实际学习使用SDL创建窗体,并绘制图形. 前言 今天想要做一个简单的demo ...

  5. Spark的Streaming和Spark的SQL简单入门学习

    1.Spark Streaming是什么? a.Spark Streaming是什么? Spark Streaming类似于Apache Storm,用于流式数据的处理.根据其官方文档介绍,Spark ...

  6. JavaWeb_(Mybatis框架)MyBatis Generator简单入门

    官方文档 传送门 下载地址 传送门 MyBatis Generator(MBG)简介: MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它将为 ...

  7. android的简单入门学习

    话说光配环境就整死我了, 不是说多么难, 是最近google被屏了, 很多sdk里面需要下载的东西都下不下来, 坑爹啊.  最后跟扫拉稀要了一个他配置好的,才运行了. android目录分析: ass ...

  8. JSTL简单入门学习实例

    Maven依赖: <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</ ...

  9. Python 3 + Selenium 3 简单入门学习示例 126邮箱登录

    这是一个很多基础演示的书上的例子,但是一般按照这些书上的代码可能都不能成功登录.也许是网易修改了126的页面导致的吧,下面给出最新的能够work的版本 from selenium import web ...

随机推荐

  1. $.data(elem, key, val) 和 elem.data(key, val)

    var div1 = $("div"),     div2 = $("div"); 1.     div1.data("key", &quo ...

  2. iOS使用位置和方向服务(来自苹果apple官方)

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   本文章来自苹果官方文档,特此声明--------禚 Core Location框架为定位用户当前位置和方向(Headin ...

  3. IntelliJ Idea 2018 注册码

    转自:http://idea.lanyus.com/ *.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀 请搭建自己的IntelliJ IDEA授权服务 ...

  4. 三进制状态压缩DP(旅行商问题TSP)HDU3001

    http://acm.hdu.edu.cn/showproblem.php?pid=3001 Travelling Time Limit: 6000/3000 MS (Java/Others)     ...

  5. poj3449 Geometric Shapes【计算几何】

    含[判断线段相交].[判断两点在线段两侧].[判断三点共线].[判断点在线段上]模板   Geometric Shapes Time Limit: 2000MS   Memory Limit: 655 ...

  6. HDU_1457_后缀自动机四·重复旋律7

    #1457 : 后缀自动机四·重复旋律7 时间限制:15000ms 单点时限:3000ms 内存限制:512MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一段音乐旋律可以被表示为一段数构成 ...

  7. With all Java versions it is strongly recommended to not use experimental -XX JVM options.

    https://lucene.apache.org/solr/7_6_0//SYSTEM_REQUIREMENTS.html System Requirements Apache Solr runs ...

  8. talib 中文文档(七):Overlap Studies Functions

    Overlap Studies Functions 重叠指标 BBANDS - Bollinger Bands 函数名:BBANDS 名称: 布林线指标 简介:其利用统计原理,求出股价的标准差及其信赖 ...

  9. Team Formation---zoj3870(异或)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5518 题意就是有n个数,如果满足a^b > MAX(a, b) ...

  10. 点击劫持漏洞解决( Clickjacking: X-Frame-Options header missing)

    点击劫持漏洞 X-Frame-Options HTTP 响应头, 可以指示浏览器是否应该加载一个 iframe 中的页面. 网站可以通过设置 X-Frame-Options 阻止站点内的页面被其他页面 ...