Mybatis概述

MyBatis的功能架构

这里写图片描述

API接口层
参见下方API

数据处理层

参数映射:指的是对于java 数据类型和jdbc数据类型之间的转换
SQL解析:SQL语句配置、解析、动态生成
SQL执行:Executor
结果映射处理:

基础支撑层

连接管理
事务管理
配置加载
缓存机制
SQL语句的配置方式

  • 基于注解
  • 基于XML文件

MyBatis Java API

SqlSessionFactoryBuilder

  • 创建SqlSessionFactory实例
  • build()方法从不同的资源中创建:InputStream或Configuration
  • InputStream可选的参数是 environment 和 properties
  • mybatis提供Resources 工具帮助加载资源文件
Reader getResourceAsReader(String resource)
Properties getResourceAsProperties(String resource)
InputStream getResourceAsStream(ClassLoader loader, String resource)

SqlSessionFactory

  • 调用openSession()创建SqlSession实例
  • 可选参数有:自动提交、事务隔离级别、预处理、自定义连接、执行器类型

SqlSession

语句执行方法

T selectOne(String statement)
List selectList(String statement)
Map selectMap(String statement, String mapKey)
int insert(String statement)
int update(String statement)
int delete(String statement)

事务控制方法

void commit()
void commit(boolean force)
void rollback()
void rollback(boolean force)

清理 Session 级的缓存

void clearCache()

关闭SqlSession

void close()

使用映射器

T getMapper(Class type)

动态 SQL

MyBatis 通过传入的参数值,使用 Ognl 来动态地构造SQL语句

  • if
  • choose (when, otherwise)
  • trim (where, set)
  • foreach

Select执行过程分析

1.创建SqlSession对象

2.为SqlSession传递参数:Statement Id和params

  • Statement Id对应xml配置文件里的sql语句
  • params 是传递的查询参数

分析源码可知
1.根据Statement Id,在mybatis 配置对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值