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数据基础层:事务管理、配置加载、缓存管理、连接管理
方法: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数据基础层:事务管理、配置加载、缓存管理、连接管理
相关文章推荐
- MyEclipse 去除指定文件validation(例:js报错)
- 【慕课笔记】第五章 阶段练习 第2节 针对第1节练习的优化
- CLRS 13.3插入
- jQuery选择器大全
- 40个Java集合面试问题和答案【上】【转载】
- mvc
- 面试官询问的刁钻问题——以及如何巧妙地应付它们
- PHP 类属性 类静态变量的访问
- Android 判断应用处于前后台
- 头文件的角色
- Combiner
- jquery 插件封装模板
- Leetcode 310. Minimum Height Trees
- MySQL索引背后的数据结构及算法原理
- NSLayoutConstraint
- UITextView时,点击键盘的Return,释放TextView第一响应者
- spl_autoload_register
- 大数据是让人幸福的科学
- 227,使用GCD异步下载图片,更新UI
- webdriver与浏览器_操作页面元素—弹出窗口