mybatis是一个java持久层框架,java中操做关系型 数据库用的是jdbc,mybatis是对jdbc的一个封装。java
MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,而且更名为MyBatis。2013年11月迁移到Github。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎全部的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录。git
git(分布式版本控制,当前比较流程)spring
MyBatis是一个优秀的持久层框架,它对jdbc的操做数据库的过程进行封装,使开发者只须要关注 SQL 自己,而不须要花费精力去处理例如注册驱动、建立connection、建立statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。sql
Mybatis经过xml或注解的方式将要执行的各类statement(statement、preparedStatemnt、CallableStatement)配置起来,并经过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。 数据库
Mybatis的功能架构分为三层:apache
1) API接口层:提供给外部使用的接口API,开发人员经过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。缓存
2) 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操做。mybatis
3) 基础支撑层:负责最基础的功能支撑,包括链接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来做为最基础的组件。为上层的数据处理层提供最基础的支撑。架构
mybatis架构app
一、从一个jdbc程序开始,经过jdbc 程序找到使用原生态的jdbc开发程序,存在哪些问题??经过学习mybatis,mybatis是如何解决这些问题。
二、mybatis的架构(重点)
三、mybatis的入门程序(重点)
实现 用户的查询、添加、修改、删除。
四、mybatis开发dao的两种方法。(重点)
原始的dao开发方式(dao接口和dao实现都须要编写)
mapper代理方式(只须要写dao接口)
五、输入映射类型和输出映射类型。
六、动态sql
高级知识
高级映射查询(一对1、一对多、多对多)(重点)
查询缓存
延迟加载
mybatis和spring整合(重点)
mybatis逆向工程 。