MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
(1) API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
(2) 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
(3) 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
(1) 加载配置:配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
(2) SQL解析:当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map、JavaBean或者基本数据类型),Mybatis会根据SQL的ID找到对应的MappedStatement,然后根据传入参数对象对MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数。
(3) SQL执行:将最终得到的SQL和参数拿到数据库进行执行,得到操作数据库的结果。
(4) 结果映射:将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap、JavaBean或者基本数据类型,并将最终结果返回。
推荐大家去看动力节点的mybatis教程,讲的无比详细,让你可以在最短的时间内学会使用持久层框架MyBatis,在视频中没有废话,都是干货,视频的讲解不是学术性研究,项目中用什么,这里就讲什么,如果你现在项目中马上要使用MyBatis框架,那么只需要学习完此教程,就可以顺利的使用MyBatis开发了。
http://www.bjpowernode.com/?csdn
适合懂一些Java基础语法,会编写常见的简单的SQL语句,了解过JDBC编程的
001.MyBatis-001-三层架构
002.MyBatis-002-框架概念
003.MyBatis-003-jdbc缺陷
004.MyBatis-004-MyBatis能做什么
005.MyBatis-005-使用步骤
006.MyBatis-006-创建mapper文件
007.MyBatis-007-创建主配置文件
008.MyBatis-008-创建SqlSession执行sql语句
009.MyBatis-009-复习第一个例子
010.MyBatis-010-开发常见问题
011.MyBatis-011-三种处理方式
012.MyBatis-012-配置日志
013.MyBatis-013-SqlSessionFactory和SqlSession对象介绍
014.MyBatis-014-工具类使用
015.MyBatis-015-传统dao使用方式
016.MyBatis-016-传统dao执行insert
017.MyBatis-017-传统dao的执行分析
018.MyBatis-018-使用动态代理的条件分析
019.MyBatis-019-动态代理getMapper
020.MyBatis-020-动态代理使用例子
021.MyBatis-021-parameterType使用
022.MyBatis-022-传参-一个简单类型
023.MyBatis-023-MyBatis是封装的jdbc操作
024.MyBatis-024-命名参数
025.MyBatis-025-使用对象传参
026.MyBatis-026-按位置传参
027.MyBatis-027-Map传参
028.MyBatis-028-两个占位符比较
029.MyBatis-029-使用占位替换列名
030.MyBatis-030-复习
031.MyBatis-031-复习传参数
032.MyBatis-032-resultType使用
033.MyBatis-033-定义别名
034.MyBatis-034-查询返回Map
035.MyBatis-035-列名和属性名不同二种解决方案
036.MyBatis-036-Like查询两种方案
037.MyBatis-037-补充文档
038.MyBatis-038-动态sql概念
039.MyBatis-动态sql-if
040.MyBatis-动态sql-where
041.MyBatis-动态sql-foreach
042.MyBatis-动态sql-代码片段
043.MyBatis-补充文档
044.MyBatis-主配置文件DataSource
045.MyBatis-数据库属性配置文件
046.MyBatis-指定多个mapper文件的方式
047.MyBatis-页面是什么
048.MyBatis-PageHeloper使用步骤
049.MyBatis-补充文档