-
什么是mybatis
- 一个半自动的ORM数据库持久层框架
mybatis最早叫:iBatis
- 框架的概念:
1约束性,支撑性
2java中框架就是一系列jar包的组合
3框架是一个半成品的工具,提高效率
4框架是解决某一个领域的问题
5适合团队开发,方便维护
- 持久化:可保存在可断电的设备中
- ORM框架映射方式:对象映射关系
O:java里面有类,对象,属性
R:关系是关系型数据库
M:类-表 对象映射表中的一行数据
- 半自动:需要自己手动写sql
- mybatis缓存:
概念:是一种典型的以【空间换时间】的策略
一级缓存:
当调用sql语句时,mybatis会自动开启一个缓存区,当会话关闭时,缓存失效
二级缓存:
需要在xml文件中配置一个
标签 在给sql语句配置一个value="true",会话关闭也会有一个缓存(只了解,因为每次查询的东西都不一样,一般不需要配置)
- mybatis中常用的注解:
- <resultMap></resultMap>:在两张表联查时,设置两张表的值
:表示指向的其他表的mapper方法
: 表示id
:表示其他属性设置值
property:表示当前domain的字段(数据库中列的字段) column:表示内存中对应的列
collection:表示收集当前表中的数据 ofType;javaType:表示收集的数据为什么类型
javaType:表示当前domain中以对象形式封装的外键,则用javaType
ofType:表示当前domain中以list集合的形式封装的外键对象,则用ofType
Mybatis常用注解
: 表示id
:表示其他属性设置值
property:表示当前domain的字段(数据库中列的字段) column:表示内存中对应的列
collection:表示收集当前表中的数据 ofType;javaType:表示收集的数据为什么类型
javaType:表示当前domain中以对象形式封装的外键,则用javaType
ofType:表示当前domain中以list集合的形式封装的外键对象,则用ofType
Mybaties执行流程
mybatis的执行流程
- 1读取Mybatis的核心配置文件
2加载映射文件
3构造会话工厂获取SqlSessionFactory
4创建会话对象sqlsession
5Executor执行器(执行sql语句)
6MappedStatement对象(对解析的sql语句封装)
7输入参数映射
8封装结果集