MyBatis的简单入门学习
一个新知识开始是最难学的.(万事开头难)
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的简单入门学习的更多相关文章
- MyBatis(1)-简单入门
简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.My ...
- 学习MyBatis之简单入门HelloWorld
转:https://blog.csdn.net/gaomb_1990/article/details/78299784 一.准备 Eclipse:Luna Service Release 1 (4.4 ...
- Spring.Net 简单入门学习
Spring.NET IoC容器的用法. 通过简单的例子学习Spring.Net 1.先创建一个控制台程序项目. 2.添加IUserInfoDal 接口. namespace Spring.Net { ...
- SDL 简单入门学习
write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 概要 实际学习使用SDL创建窗体,并绘制图形. 前言 今天想要做一个简单的demo ...
- Spark的Streaming和Spark的SQL简单入门学习
1.Spark Streaming是什么? a.Spark Streaming是什么? Spark Streaming类似于Apache Storm,用于流式数据的处理.根据其官方文档介绍,Spark ...
- JavaWeb_(Mybatis框架)MyBatis Generator简单入门
官方文档 传送门 下载地址 传送门 MyBatis Generator(MBG)简介: MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它将为 ...
- android的简单入门学习
话说光配环境就整死我了, 不是说多么难, 是最近google被屏了, 很多sdk里面需要下载的东西都下不下来, 坑爹啊. 最后跟扫拉稀要了一个他配置好的,才运行了. android目录分析: ass ...
- JSTL简单入门学习实例
Maven依赖: <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</ ...
- Python 3 + Selenium 3 简单入门学习示例 126邮箱登录
这是一个很多基础演示的书上的例子,但是一般按照这些书上的代码可能都不能成功登录.也许是网易修改了126的页面导致的吧,下面给出最新的能够work的版本 from selenium import web ...
随机推荐
- 日志系统实战 AOP静态注入
http://www.cnblogs.com/mushroom/p/3932698.html http://www.cnblogs.com/mushroom/p/4124878.html http:/ ...
- {sharepoint}It may have been deleted or renamed by another user
Symptom Consider the following scenario: We In the xslt: <xsl:param name="CustomItem"&g ...
- VMware Fusion 5虚拟机怎样与MAC共享文件
刚刚在Macbook Pro中安装了VMware Fusion 5虚拟机,虚拟机里装了Windows7,在虚拟机的设置里也设置了共享MAC的几个文件夹,以便与MAC交换文件,但是在Windows7里怎 ...
- ffmpeg 推送、保存rtmp 流命令
1.将文件当做直播送至live ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName 2.将直播媒体保存至本 ...
- js封装正则验证
//根据不同的验证内容,返回相应的正则表达式 function returnRegString(regName) { if (regName == "email") { retur ...
- poj1191 棋盘分割【区间DP】【记忆化搜索】
棋盘分割 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16263 Accepted: 5812 Description ...
- Augmented reality in natural scenes
Augmented reality in natural scenes (Iryna Gordon and David Lowe)2006年关于AR的研究成果 项目主页 http://www.cs.u ...
- c# 网站 vislual studio
一.新建 1.新建网站 在 菜单栏-->新建-->项目-->选项编辑语言-->web-->先前版本-> 2.新建母板: *.master文件是母板页文件.添加新项时 ...
- 探究 Oracle 高水位对数据库性能影响
在开始深入分析之前,让我们先来了解一下高水位线 HWM. 一. HWM 的基本原理 (概念) 在 Oracle 中,高水位线(High-warter mark, HWM)被用来形容数据块的使用位置,即 ...
- talib 中文文档(十一):Cycle Indicator Functions 周期指标
Cycle Indicator Functions 不是很懂,欢迎指教 HT_DCPERIOD - Hilbert Transform - Dominant Cycle Period 函数名:HT_D ...