mybatis environments
来源:互联网 发布:查看linux系统版本命令 编辑:程序博客网 时间:2024/06/06 19:07
environments 运行环境
在mybatis中运行环境主要是配置了数据库信息,他可以配置多个数据库。下面它有分为transactinManager 事务管理器 和dataSource 数据源 配置项。在实际工作中通常是采用Spring对这两个配置项进行管理。
transactionManager 事务管理器
在mybatis中,transactionManager 提供了两个实现类。但是他需要实现Transaction接口。
public interface Transaction { /** * Retrieve inner database connection * @return DataBase connection * @throws SQLException */ Connection getConnection() throws SQLException; /** * Commit inner database connection. * @throws SQLException */ void commit() throws SQLException; /** * Rollback inner database connection. * @throws SQLException */ void rollback() throws SQLException; /** * Close inner database connection. * @throws SQLException */ void close() throws SQLException; /** * Get transaction timeout if set * @throws SQLException */ Integer getTimeout() throws SQLException;}
从方法可知,他的主要方法就是提交,回滚和关闭数据库的事务。他的实现类为JdbctransactionManager 和 ManagerTransaction。由于他们都是采用工厂模式来生成对象,所以他们还对应两个工厂类JdbctransactionManagerFactory和ManagerTransactionFactory。
JdbctransactionManager对事务的处理采用JDBC的方式对数据库的提交和回滚进行操作
ManagerTransaction 它的提交和回滚不用任何操作,而是将事物交给容器处理。默认情况下他会关闭数据库连接,,因此要将closeConnection的属性设置为false。
environment 数据源环境
environment的主要作用是配置数据库,其中有三种配置数据源的方式,PooledDataSource,
UnpooledDataSource 和 JndiDataSource, 分别对应三个工厂方法来生产这三个类的对象。
UnpooledDataSource
采用非池数据库管理方式。它有以下配置项
- driver 数据库驱动
- url 连接数据库的URL
- username 数据库用户名
- password 密码
- defaultTransactionIsolationLevel 默认的链接事务隔离级别
PooledDataSource
数据源POOLED利用 池 的概念把JDBC的connection集中管理。也就是数据库连接池。
除了UnpooledDataSource还有以下可配置项
- poolMaxmumActiveConnections 是任意时间都存在的活动连接数量,默认为10
- poolMaxmumIdleConnections 任意时间可能存在的空闲连接数
- poolMaxmumCheckoutTime 被强制返回之前,池中链接被检查出的时间。默认20s
- poolTimeToWait 如果获取连接时间较长则打印日志并尝试获取新连接
- poolPingQuery 为发送数据库侦测查询,检验数据库是否处于正常的工作状态,默认为
NO PING QUERY SET 这回导致多数数据库失败时带有一个恰当是错误提示。
- poolPingEnabled 为是否启用数据库侦测查询。若开启也必须使用一个可执行的Sql语句设置poolPingQuery属性。默认为false
- poolPingConnectionsNotUsedFor 配置poolPingQuery的使用频度。默认值为 0 ,也就是所有链接每时都会侦测,仅当poolPingEnabled为true生效。
JNDI
EJB等应用服务器使用。
- mybatis environments
- Mybatis-environments(English)
- Mybatis-environments(实例讲解)
- environments
- (读书笔记)mybatis (三)-----environments详解
- Mybatis配置之<environments>配置元素详述
- mybatis 配置文件configuration environments以及单独使用mybatis的demo
- mybatis 配置文件configuration environments以及单独使用mybatis的demo
- 04 Mybatis源码篇---XML配置之environments环境
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
- mybatis官网参考文档-XML配置_配置环境(environments)(版本: 3.4.6-SNAPSHOT)
- 关于sudo dpkg-divert --local --rename --add /sbin/initctl导致的开机无图标解决方法
- 简析fork和vfork区别以及进程和线程的区别和联系
- C++右值引用
- Struts2的架构和执行流程
- [HDU 6209] The Intersection
- mybatis environments
- Java实现——数组元素全排列
- python之numpy库学习常用函数(矩阵索引数据)
- BZOJ[3626][LNOI2014]LCA 树链剖分+线段树
- C语言二进制转十进制的技巧性方法
- 【数学建模】CUMCM-2013B 碎纸片的拼接复原 解题思路整理
- mybatis 引入映射器的方法
- mybantis 映射器的自动映射和驼峰映射
- BZOJ 1911 [Apio2010]特别行动队 (斜率优化DP)