1 领域模型

Mybatis核心设计理念就是在jdbc上有封装了一层数据操作层,主要实现了sql和业务代码分离,模型层缓存,自定义事务等。

2 事务

Mybatis执行数据库操作及实现事务机制的原理如下:

通过 SqlSessionFactoryBuilder 根据Configuration(数据源,sql Map)创建 SqlSessionFactorySqlSessionFactory 通过代理模式(用于实现事务)创建 SqlSessionSqlSession 创建Executor后,在通过Executor创建StatementHandler, 通过StatementHandler 创建Statement并执行BoundSql,并添加Statement list缓存,用来执行批量任务,实现事务机制。