mybatis 3.x

整体架构 1. 接口层:SqlSession
2. 核心处理层:配置解析,参数映射,SQL解析,SQL执行,结果集映射,插件
3. 基础支持层:数据源,事务管理,缓存模块,Binding模块,反射,类型转换,日志,资源加载,解析器
 
主要核心部件

SqlSession:和数据库交互

Executor:sql生成,和查询缓存,事务管理

StatementHandler:封装JDBC Statement

ParameterHandler:参数

ResultSetHandler

TypeHandler:java类型和jdbc数据类型映射和转换

MappedStatement:Mapper文件 <select..>

SqlSource:将parameterObj,动态生成sql,封装到BoundSql对象

BoundSql:动态sql及参数

Configuration

SimpleExecutor

ReuseExecutor: Map<String, Statement>

BatchExecutor

查询缓存??

一级缓存:SqlSession,会话级别

二级缓存:mapper文件,应用级别

mybatis-redis
分页 RowBounds  
Single Table CRUD

@identity

$与#:#{}是sql的参数占位符'?'

resultType与resultMap应用场景

MapperProxy

parameterType三种形态

 
Relational Query

collection配置:一对多,one-many

association配置:一对一

延迟加载策略:lazyLoadingEnabled=true

侵入式延迟配置

深度延迟配置

 
Annotain    

标签:<resultMap>、<parameterMap>、<sql>、<include>、<selectKey>,加上动态sql的9个标签

Mybatis执行批量插入,能返回数据库主键列表吗?last_insert_id

猜你喜欢

转载自blog.csdn.net/baidu_33903346/article/details/81485374