文档章节

MyBatis --教程

求是科技
 求是科技
发布于 2015/10/27 16:27
字数 733
阅读 113
收藏 0

本文参考如下这篇优秀文章

http://www.yihaomen.com/article/java/302.htm


一、什么是myBatis?

myBatis是一个基于java的持久层框架,它支持普通SQL查询、支持存储过程和高级映射。它使用简单的XML或者注解来配置映射,将接口和POJOS(普通java对象)映射成数据库中的记录。

持久层:就是将数据保存到存储设备中,供以后使用。

数据持久化:就是将内存中的数据保存到磁盘加以固化,持久化的实现过程则是通过各种关系数据库来完成。

持久层框架:Hibernate和myBatis。

二、myBatis功能架构

myBatis功能架构分为三层:

1>API接口层:提供给外部开发人员使用,开发人员通过这些本地API来操纵数据库。接口层一旦接收到调用请求就会调用数据处理层来完成具体的数据处理。

2>数据处理层:负责SQL查找、SQL解析、SQL执行和执行结果映射处理。它主要的工作是根据调用请求来完成一次数据库操作。

3>基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理等。

三、框架架构详解

1>加载配置:配置信息来源于两处:一是配置文件;二是java代码的注解。它的功能是将SQL的配置信息加载成一个个mappedStatement对象存储到内存中。

2>SQL解析:当API接口层接收到调用请求时,会接收到传入SQL的ID和传入参数(参数可以是map对象、javaBean或者基本数据类型),mybatis会根据SQL的id找到对应的mappedStatement,然后根据传入参数对mappedStatement进行解析,解析成 最终要执行的SQL语句和参数。

3>SQL执行:将2>得到的SQL语句送进数据库执行,得到执行后的结果。

4>结果映射:将数据库取回的结果按照映射的配置进行转换,可以转换成hashMap、javaBean或者基本数据类型,将最终结果返回。

四、动态SQL

它是myBatis最强大的特性之一。它可以很好的解决SQL的拼接问题。

五、ORM工具思想

ORM(Object Relational Mapping,对象关系映射),它是一种程序技术,用于实现javaBean属性与数据库字段之间的转换。

orm思想

1>从配置文件(通常是xml配置文件)中得到sessionFactory

2>由sessionFactory产生session

3>在session中完成对数据的增删改查和事务提交等

4>关闭session

5>在java对象和数据库之间做mapping配置。

六、mybatis实战教程系列

//查看如上参考网址


© 著作权归作者所有

求是科技

求是科技

粉丝 98
博文 451
码字总数 232301
作品 0
成都
后端工程师
私信 提问
史上最简单的 MyBatis 教程

1 前言   MyBatis 源于 Apache 的一个开源项目 iBatis,而 iBatis 一词则来源于“internet”和“abatis”的组合,2010年这个项目由 Apache Software Foundation 迁移到了 Google Code,并且...

qq_35246620
2017/02/01
0
0
mybatisplus-spring-boot-starter 1.0.0 发布

mybatisplus-spring-boot-starter 为 Mybatis-Plus 快速集成 spring-boot 简化配置而生,不在需拿 MyBatis 和 Hibernate相比, mybatis-plus 作为 mybatis 的好拍档补充了它的短板,让 myba...

青苗
2017/05/05
2.1K
14
看复旦大学工程硕士手把手教你手写MyBatis,纯手工打造开源框架(附详细视频教程)

MyBatis框架的优缺点及其适用的场合 MyBatis的优点 (1)与JDBC相比,减少了50%以上的代码量。 (2)MyBatis是嘴加单的持久层框架,小巧并且简单易学。 (3)MyBatis相当灵活,不会对应用程序...

中关村的老男孩
06/13
0
0
mybatisplus-spring-boot-starter 1.0.2 发布,代号:清风

mybatisplus-boot-starter 为 mybaits-plus 快速集成 spring-boot 简化配置而生,让您不在为对比 myBatis 和 hibernate 而烦恼 mybatis-plus 作为 mybatis 的好拍档补充了它的短板,让 myba...

青苗
2017/06/26
1K
8
mybatisplus-spring-boot-starter 1.0.1 发布

mybatisplus-boot-starter 为 mybaits-plus 快速集成 spring-boot 简化配置而生,让您不在为对比 MyBatis 和 Hibernate 而烦恼 mybatis-plus 作为 mybatis 的好拍档补充了它的短板,让 myba...

青苗
2017/05/16
2.3K
4

没有更多内容

加载失败,请刷新页面

加载更多

ViewPager懒加载极致优化

目录介绍 01.ViewPager简单介绍 02.ViewPager弊端分析 03.ViewPager预加载 04.ViewPager部分源码 05.懒加载出现问题 06.如何实现预加载机制 07.懒加载配合状态管理器 吕诗禹想换个工作,渴望...

杨充
21分钟前
1
0
shadeEffect动态消失渲染

import QtQuick 2.0ShaderEffect { id:genieEffect anchors.centerIn: parent property variant source mesh:GridMesh{resolution: Qt.size(10,10)} propert......

蓝栩液枫
24分钟前
2
0
苦逼程序员的真实生活 

程序员这个行业虽然待遇还不错,但是不仅累,拿命去换取的,很多时候也是很苦逼的,有多少程序员还在苦苦追求心里的那个她。我就是千万程序员大军中的一员,其中有多苦逼我最清楚,以下的12张...

linux服务器架构
26分钟前
2
0
idea 创建maven 分支apply-patch中模块

1.点击idea 有上角的 project structure 2.选择modules-->点击“+”-->new module--->maven-->添加group id=com.paic.gamma.apply ,artifactid-分支名(qilu-bank),version=1.0-SNAPSHOT ......

qimh
30分钟前
2
0
企业在数字化转型,数据化运营上遇到了哪些困境,如何解决?

公司决策者意识到成功的数字体验越来越重要。调查受访者表示,这种成功的衡量标准是,用户体验和满意度提高(53%),市场敏捷性提高(49%),收入和盈利能力增加(49%),员工生产力提高(...

NBI大数据可视化
37分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部