接口Transaction
方法:getConnection()、commit()、rollback()、close
mybatis一级缓存和二级缓存。继承类:
JdbcTransaction(使用Jdbc的事务管理机制)
ManagedTransaction(使用manage的事务管理机制,即mybatis自身不会执行事务管理,交由其他的容器进行(如WebLogic等))
mybatis和hibernate的区别与优劣。mybatis配置:
configition->environments-->environment-->transactionmanage(1),datasource
->mapper
mybatis的环境配置信息。 即程序启动的时候,会加载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数据基础层:事务管理、配置加载、缓存管理、连接管理
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态