MyBatis配置解析
MyBatis配置文件解析(概要)
1.configuration:根元素
1.1 properties:定义配置外在化
1.2 settings:一些全局性的配置
1.3 typeAliases:为一些类定义别名
1.4 typeHandlers:定义类型处理,也就是定义JAVA类型与数据库中的数据类型之间的转换关系
1.5 objectFactory
1.6 plugins:mybatis插件,插件可以修改MyBatis内部运行规则
1.7 environments:配置Mybatis的环境
1.7.1 enveronment
1.7.1.1 transactionManager:事务管理器
1.7.1.2 datasource:数据源
1.8 databaseIdProvider
1.9 mappers:指定映射文件或映射类
这里我们重要介绍transactionManager和datasoruce的type取值
transactionManager:
type取值范围:
JDBC:简单的使用JDBC的提交和回滚设置,一览与从数据员得到的链接来管理事务范围
MANAGED:这个配置几乎什么都没做,它从来不提交或回滚一个链接,而它让容器来管理事务的整个生命周期(比如spring、jee应用服务器的上下文)
在默认情况下,MANAGED会关闭连接,如果有时候不希望这样时,可以从连接中停止它,将claseConnection属性设置为false:
<transactionManager type="MANAGED">
<property name="closeConnection" value="false"/>
</transactionManager>
dataSource:
type取值范围:
UNPOOLED:这个数据源的实现是每次被请求时打开和关闭连接。速度会有一些慢,适用于简单的应用程序。
这种类型的数据源只需要配置下面的6种属性(最后一项为可选):
driver | JDBC驱动名 |
url | JDBC URL地址 |
username | 数据库用户名 |
password | 数据库密码 |
defaultTransactionIsolationLevel | 默认的链接事务隔离级别 |
driver.encoding | utf-8(可选项) |
POOLED:这是JDBC链接对象的数据源连接池的实现,用来避免创建新的链接实例时必要的连接和认证时间。适用于当前Web应用程序用来快速响应请求
这种类型的数据源除了需要配置UNPOOLED中的基础配置外,还可以配置下面的内容:
poolMaximumActiveConnections | 在任意时间正在使用链接的数量 |
poolMaximumIdleConnections | 任意时间存在的空闲连接数 |
poolMaximumCheckoutTime | 在被强制返回之前,连接池中被检查的时间,默认值为20000毫秒 |
poolTimeToWait | 给连接池一个打印日志状态机会的低层次设置,还有重新尝试获取连接,这些情况往往会需要很长时间。为了避免连接池没有配置时静默失败。默认值20000毫秒 |
poolPingQuery | 发送到数据的侦测查询,用来验证连接是否正常工作,并且准备接受请求。默认为“NO PING QUERY SET”,这会引起许多数据库驱动连接由一个错误信息而导致失败 |
poolPingEnabled | 这是开启或禁用侦测查询,如果开启,必须用一个合法的SQL语句,设置poolPingQuery属性,默认值为false |
poolPingConnectionsNotUsedFor | 用来配置poolPingQuery多长时间被调用一次。可以被设置匹配标准的数据库链接超时时间,来避免不必要的侦测。默认值0(也就是所有链接每一时刻都被侦测到,但仅仅当poolPingEnabled为true时适用)。 |
JNDI:这个数据源是为了使用如Spring或应用服务器这类的容器,容器可以集中或在外部配置数据源,然后设置JNDI上下文的引用。
这个数据源只需要配置两个属性:
initial_context | 用来从初始上下文中寻找环境(也就是initialContext.lookup(initial——context)),这是个可选属性,如果被忽略,那么data_source属性将直接以initialContext为背景再次寻找 |
data_source | 这是引用数据源实例位置的上下文的路径,它会以initial_context查询返回的环境为背景来查找,如果initial_context没有返回结果时,直接以初始上下文为环境来查找。 |
和其他数据源配置类似,他可以通过名“env.”的前缀来直接向初始上下文发送属性,比如:
env.encoding=UTF8
MyBatis配置解析的更多相关文章
- Mybatis:配置解析
配置解析 mybatis-config.xml(Mybatis核心配置文件)深深影响了Mybatis行为的设置和属性信息. 能配置的的内容 当然,并不是所有都是我们经常使用到的,下面选择经常使用的配 ...
- Mybatis配置解析(核心配置文件)
4.配置解析 4.1.核心配置文件 Mybatis的配置文件包含了会深深影响mybatis行为的设置和属性信息 mybatis-config.xml properties(属性)重点 settings ...
- Mybatis源码解析,一步一步从浅入深(三):实例化xml配置解析器(XMLConfigBuilder)
在上一篇文章:Mybatis源码解析,一步一步从浅入深(二):按步骤解析源码 ,中我们看到 代码:XMLConfigBuilder parser = new XMLConfigBuilder(read ...
- MyBatis:配置解析
配置解析 核心配置文件 mybatis-config.xml 系统核心配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息. 能配置的内容如下: configur ...
- 深入Mybatis源码——配置解析
@ 目录 前言 正文 配置解析 1. cacheRefElement/cacheElement 2. resultMapElements 3. sqlElement 4. buildStatement ...
- 4、MyBatis教程之配置解析
5.配置解析 核心配置文件 mybatis-config.xml 系统核心配置文件 MyBatis 的配置文件会深深影响 MyBatis 行为的设置和属性信息. 能配置的内容如下: configura ...
- MyBatis学习02(配置解析)
配置解析 核心配置文件 mybatis-config.xml 系统核心配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息. 能配置的内容如下: configur ...
- 后端框架的学习----mybatis框架(3、配置解析)
3.配置解析 1.核心配置文件 2.环境配置(environment) 3.属性(properties) 可以通过properties属性来实现引用配置文件 这些属性可以在外部进行配置,并可以进行动态 ...
- MyBatis配置文件解析
MyBatis配置文件解析(概要) 1.configuration:根元素 1.1 properties:定义配置外在化 1.2 settings:一些全局性的配置 1.3 typeAliases:为 ...
随机推荐
- zend_db连接mysql(附完整代码)(转)
在看这些之前请确保你正确加载了PDO扩展. 作法是编辑php.ini手动增加下面这两行(前面要没有分号;):extension=php_pdo.dllextension=php_pdo_mysql.d ...
- CCArray(转)
http://blog.csdn.net/passtome/article/details/7966451 CCArray也是cocos2d-x自己写的类.它相当于是objc的NSArray.在coc ...
- openOffice安装
[root@rusky openOffice]# tar -zxvf OOo_3..0_Linux_x86_install-rpm-wJRE_zh-CN.tar.gz [root@rusky open ...
- cordova热更新
cordova 热更新: 一.添加插件 1.新建Cordova项目 cordova create CordovaHotCode com.ezample.hotcode 2.添加Android平台 在新 ...
- SqlServer2000下实现行列转换
SqlServer2000下实现行列转换 2011-04-06 22:07:07| 分类: SQL Server | 标签:sqlserver 2000 行列转换 sql |举报|字号 订 ...
- JavaScript中定时器的暂停和继续
对于JavaScript的定时器来说没有严格意义上的暂停和重启,只有清除停止,但是可以通过一些‘障眼法’实现 allChild[index].onclick = function(){//当点击目标且 ...
- Zepto源码笔记(三)
ps:本文中"组装成成数组"指的是若元素个数大于1则返回数组,若元素只有1个则返回元素本身 以下函数是$.fn该对象的方法 ready(callback) 通过readyRE正则表 ...
- 3月23日html(四) 格式与布局
一.position:fixed 锁定位置(相对于浏览器的位置),例如有些网站的右下角的弹出窗口. 二.position:absolute 1.外层没有position:absolute(或relat ...
- DEDE数据库修改后台变量
进行数据库之后找到 dede_sysconfig 这个数据表,然后查找到你要删除的dede教程变量名称. 这样就可以了
- HTML&CSS基础学习笔记1.3-HTML的标签语法
HTML标签语法 1. 标签由英文尖括号<和>括起来,如<html>就是一个标签. 2. HTML中的标签一般都是成对出现的,分开始标签和结束标签.结束标签比开始标签多了一个/ ...