您的位置:首页 > 其它

mybatis原理

2016-01-21 14:06 253 查看
接口Transaction

方法:getConnection()、commit()、rollback()、close

继承类:

JdbcTransaction(使用Jdbc的事务管理机制)

ManagedTransaction(使用manage的事务管理机制,即mybatis自身不会执行事务管理,交由其他的容器进行(如WebLogic等))

mybatis配置:

configition->environments-->environment-->transactionmanage(1),datasource

->mapper

即程序启动的时候,会加载mybatis配置文件,通过事务管理和数据源组成环境中去

(1)处的transactionmanager是配置事务机制的类型(jdbc,managed)

事务工厂:

TransactionFactory---->JdbcTransactionFactory ------------>JdbcTrasaction

----->ManagedTransactionFactory -------------->ManagedTransaction

事务类型:

JdcbTransaction:

获取数据连接池connection对象,通过这个对象对事务进行开始、提交、回滚,JdbcTransaction就是对jdbc事务处理机制的封装

ManagedTransaction:

mybatis自身不进行事务处理,而是通过web容器进行事务生命周期的管理

若本地程序,执行任何的增删改操作,即使commit,也不会数据库产生影响,因为本地程序本身没有事务处理机制

mybatis整体流程:

1加载和初始化配置

配置文件:java注解、配置文件

封装成MappedStatement(传入参数、sql语句、返回结果)

保存在内存中

2接受处理请求

调用数据库API接受数据请求,请求处理层进行处理

3数据处理

(1) 根据请求的sqlID和参数,找到相应的MapperStatement

(2)调用连接对象执行sql语句

(3)将返回结果进行映射

(4)释放连接资源

4数据返回

mybatis的功能架构:

1数据库API层:提供API用于数据请求的处理

2数据处理层:sql查询、解析、执行、对查询结果进行映射等

3数据基础层:事务管理、配置加载、缓存管理、连接管理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: