一、基本构成
mybatis核心组件:
- SqlSessionFactoryBuilder
- SqlSessionFactory
- SqlSession
- SQL Mapper
二、生命周期
- SqlSessionFactoryBuilder利用XML或java编码获得资源,生成SqlSessionFactory对象
- SqlSessionFactory创建SqlSession
- SqlSession,是一个会话,相当于JDBC的一个connection对象,在请求数据库处理事务是打开数据库连接
- Mapper,是一个接口,在SqlSession事务之中,发送SQL,返回需要的结果,或者执行SQL,修改数据库的数据。
三、映射器
1、映射器是由java接口和XML文件(或注解)共同组成的,作用如下:
- 定义参数类型
- 描述缓存
- 描述SQL语句
- 定义查询结果和POJO的映射关系
2、映射器的主要元素
元素名称 | 描述 |
---|---|
select | 查询语句 |
insert | 插入语句 |
update | 更新语句 |
delete | 删除语句 |
parameterMap | 定义参数映射关系 |
sql | 定义一部分sql,在别的地方可以引用 |
四、动态SQL
动态SQL的元素
元素 | 作用 |
---|---|
if | 判断语句 |
choose(when、otherwise) | 相当于java的case when语句 |
trim(where、set) | 辅助元素 |
foreach | 循环语句 |