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 ...
随机推荐
- Eclipse '<>' operator is not allowed for source level below 1.7
'<>' operator is not allowed for source level below 1.7 解决方法:
- chrom调试
2.Event Listeners 可以看到事件找到对应在标签点开里有useCapture, passive: once: handler等等右键handler 的"show functio ...
- windows服务的默认启动类型和登录帐户
转自:http://www.winhelponline.com/blog/windows-7-services-default-startup-type/ Service Name Startup T ...
- 170801、VM性能调优
最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录. 一.JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老 ...
- Android N 通知概览及example
概述 Android App的通知在维护你的App和用户之间的交互起着举足轻重的作用,为了提供更好的用户体验,Android N上的通知提供了可视化刷新,自定义视图和直接回复等功能.另外还提出了Mes ...
- OA之为用户设置角色和为用户设置权限
1.为用户设置角色 { Layout = null; } @using OA.Model <!DOCTYPE html> <html> <head> <met ...
- beans有无状态
Spring Bean Scopes https://www.tutorialspoint.com/spring/spring_bean_scopes.htm When defining a < ...
- Delphi下使用指针的简单总结(指针的赋值,数组和指针的转换,函数指针的使用)
由于最近公司太忙,好久没有更新我的BLOG了.原来想着写写关于HOOK驱动的文章,可是最后想想好久已经没有做驱动的东西了,怕写出来有错误,于是作罢.开发游戏也有一段时间了,发现使用DELPHI来开发网 ...
- git学习------> 解决Gitlab 版本升级之后,发送 merge request 出现 http 500 的返回码错误
今天有同事在Gitlab上发送 Merge Request的时候,直接出现如下所示的界面,提示http 500,服务器内部出错. 一.错误描述 1.1 创建新的 Merge Request 1.2 填 ...
- android showDialog用法
protected Dialog onCreateDialog(int id) { // TODO Auto-generated method stub switch(id){ case 10: re ...