mybatis配置文件说明(configuration)
1. xml结构(可查看mybatis-3-config.dtd)
<!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, plugins?, environments?, databaseIdProvider?, mappers?)> <!ELEMENT databaseIdProvider (property*)>
<!ATTLIST databaseIdProvider
type CDATA #REQUIRED
> <!ELEMENT properties (property*)>
<!ATTLIST properties
resource CDATA #IMPLIED
url CDATA #IMPLIED
> <!ELEMENT property EMPTY>
<!ATTLIST property
name CDATA #REQUIRED
value CDATA #REQUIRED
> <!ELEMENT settings (setting+)> <!ELEMENT setting EMPTY>
<!ATTLIST setting
name CDATA #REQUIRED
value CDATA #REQUIRED
> <!ELEMENT typeAliases (typeAlias*,package*)> <!ELEMENT typeAlias EMPTY>
<!ATTLIST typeAlias
type CDATA #REQUIRED
alias CDATA #IMPLIED
> <!ELEMENT typeHandlers (typeHandler*,package*)> <!ELEMENT typeHandler EMPTY>
<!ATTLIST typeHandler
javaType CDATA #IMPLIED
jdbcType CDATA #IMPLIED
handler CDATA #REQUIRED
> <!ELEMENT objectFactory (property*)>
<!ATTLIST objectFactory
type CDATA #REQUIRED
> <!ELEMENT objectWrapperFactory (property*)>
<!ATTLIST objectWrapperFactory
type CDATA #REQUIRED
> <!ELEMENT plugins (plugin+)> <!ELEMENT plugin (property*)>
<!ATTLIST plugin
interceptor CDATA #REQUIRED
> <!ELEMENT environments (environment+)>
<!ATTLIST environments
default CDATA #REQUIRED
> <!ELEMENT environment (transactionManager,dataSource)>
<!ATTLIST environment
id CDATA #REQUIRED
> <!ELEMENT transactionManager (property*)>
<!ATTLIST transactionManager
type CDATA #REQUIRED
> <!ELEMENT dataSource (property*)>
<!ATTLIST dataSource
type CDATA #REQUIRED
> <!ELEMENT mappers (mapper*,package*)> <!ELEMENT mapper EMPTY>
<!ATTLIST mapper
resource CDATA #IMPLIED
url CDATA #IMPLIED
class CDATA #IMPLIED
> <!ELEMENT package EMPTY>
<!ATTLIST package
name CDATA #REQUIRED
>
2. setting标签参数说明
| 参数 | 描述 | 值 | 默认值 |
| cacheEnabled | 配置全局的启用或禁用缓存策略。 | true|false | true |
| lazyLoadingEnabled | 全局启用或禁用延迟加载。当禁用时, 所有关联都会马上被加载。 | true|false | false |
| aggressiveLazyLoading |
当启用时, 有延迟加载属性的对象在被调用时将所有属性都进行加载。否则, 该对象的每个属性将会按需加载。 |
true|false | true |
| useColumnLabel |
使用列标签代替列名。不同的驱动在这 方便方式不同。参考驱动文档或充分测 试来判断所使用的驱动方式。 |
true|false | true |
| useGeneratedKeys |
JDBC支持主键生成策略,需要驱动兼容,当值设定为true时会强制使用主键生成, 即使在某些驱动中不能兼容但依然有效。 |
true|false | true |
| defaultStatementTimeout | 设置数据库的超时响应时间 |
Any positive integer (任意数值) |
not set |
| localCacheScope |
定义本地缓存范围来预防循环引用及重复嵌套的查询,如果值为session,所有的 查询结果在session平级的范围中被缓存,如果值为statement,那么缓存将不能 在两个不同的SqlSession中被共享 |
session|statement | session |
| defaultExecutorType |
配置默认的执行器,simple无特殊处理、reuse能重利用预编译的Statement。 batch能重利用预编译的Statement并支持批量更新 |
simple|reuse|batch | simple |
| autoMappingBehavior |
指定 MyBatis 如何自动映射列到字段/ 属性。none不使用自动映射,partial只 会自动映射简单, 没有嵌套的结果。full会自动映射任意复杂的结果(嵌套的或 其他情况) |
none|partial|full | partial |
| jdbcTypeForNull |
当没有特别的JDBC类型参数被提供,指定JDBC空值类型为定义值,一些驱动需要指 定jdbctype,而其他的通常做法是使用NULL,VARCHAR或者OTHER |
other | |
| logImpl | 指定MyBatis中使用何种的日志处理程序 |
SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING |
not set |
| logPrefix | 指定MyBatis中的日志文件名称的前缀 | Any String | not set |
| multipleResultSetsEnabled | 允许或不允许一个Statement返回多个ResultSet(需要适合的驱动) | true|false | true |
| safeRowBoundsEnabled | 允许在嵌套的statement中使用RowBounds(Mybatis中的分页处理) | true|false | false |
| mapUnderscoreToCamelCase | 允许自动映射数据库列名称为复合词,例如:x_xx自动映射为xXxx,驼峰命名 | true|false | false |
| callSettersOnNulls |
当结果集中含有Null值时是否执行映射对象的setter或者Map对象的put方法。此 设置对于原始类型(基本类型)如int,boolean等无效 |
true | false | false |
| lazyLoadTriggerMethods | 指定对象的哪些方法会被延迟加载 |
A method name list separated by commas (用逗号分隔的方法名列表) |
{ "equals", "clone", "hashCode", "toString" } |
| proxyFactory | 指定MyBatis用于延迟加载对象的动态代理工具 | cglib| JAVASSIST(jdk) | CGLIB |
mybatis配置文件说明(configuration)的更多相关文章
- mybatis配置文件,注意标签配置顺序。否则报错The content of element type "configuration" must match "(properties?,settings?,...怎么解决
感谢原作者http://www.cnblogs.com/zhoumingming/p/5417014.html 注意每个标签必须按照顺序写,不然就会提示错误 顺序是 <?xml version= ...
- MyBatis学习(四)、MyBatis配置文件
四.MyBatis主配置文件 在定义sqlSessionFactory时需要指定MyBatis主配置文件: <bean id="sqlSessionFactory" clas ...
- MyBatis配置文件解析
MyBatis配置文件解析(概要) 1.configuration:根元素 1.1 properties:定义配置外在化 1.2 settings:一些全局性的配置 1.3 typeAliases:为 ...
- MyBatis学习 之 四、MyBatis配置文件
目录(?)[-] 四MyBatis主配置文件 properties属性 settings设置 typeAliases类型别名 typeHandlers类型句柄 ObjectFactory对象工厂 pl ...
- 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置
[转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...
- MyBatis的学习总结三:优化MyBatis配置文件中的配置
一.优化Mybatis配置文件conf.xml中数据库的信息 1.添加properties的配置文件,存放数据库的信息:mysql.properties具体代码: driver=com.mysql.j ...
- 详解mybatis配置文件
在前面两篇文章中,大致与大家分享了基于Java的ORM框架,Mybatis基本架构和Mybatis实现CRUD的基本原理与流程,在本篇文章中,继续与大家分享Mybatis配置文件. 通过研究Mybat ...
- mybatis 配置文件全解
目录 properties settings typeAliases mappers properties mybatis配置文件中,可以像代码一样定义变量,然后在配置文件的其他地方使用,比如数据库连 ...
- Mybatis系列(二):优化MyBatis配置文件中的配置和解决字段名与实体类属性名不相同的冲突
原文链接:http://www.cnblogs.com/xdp-gacl/p/4264301.html http://www.cnblogs.com/xdp-gacl/p/4264425.ht ...
- Mybatis(一):MyBatis配置文件config.xml详解
MyBatis 配置文件基本结构 在使用mybatis框架时,首先导入其对应的jar包,并进行相应的配置,所以得对配置文件的每个参数都得了解.一个完全的mybatis配置文件结构如下: <?xm ...
随机推荐
- Python内置函数(10)——chr
英文文档: chr(i) Return the string representing a character whose Unicode code point is the integer i. F ...
- 使用reflector对.NET反编译
reflector的下载地址:https://www.cr173.com/soft/355285.html 反编译后的结果:
- AngularJS2+调用原有的js脚本(AngularJS脚本跟本地原有脚本之间的关系)
昨天一个话题说关于AngularJS2以后版本的两个小技巧,不料引出了另外一个话题,话题起始很简单: "很多的前端框架并不复杂,比如JQuery,引入即用,实时看到效果,多好.到了Angul ...
- 浅谈新的布局方式-flex
引言: 网页布局在flex出来之前,是由盒模型为底子,float,position,table,百分比来进行布局的,重绘的比较多,影响性能,复杂又不好维护.flex布局,可以简便.完整.响应式地实现各 ...
- MySQL优化指南
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...
- [MySQL]支持 emoji(字符集问题)
问题的根源 主要问题就是在字符集,一般解决这种问题都是靠试验.我实验了一通,得出的结论和大家分享一下(如有错误,还望指正): 数据库的字符集 数据库连接的字符集 配置方法 设置数据库的字符集为utf8 ...
- 【Python3爬虫】拉勾网爬虫
一.思路分析: 在之前写拉勾网的爬虫的时候,总是得到下面这个结果(真是头疼),当你看到下面这个结果的时候,也就意味着被反爬了,因为一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访 ...
- RabbitMQ消息队列(五)-安装amqp扩展并订阅/发布Demo(.Net Core版)
publish发布消息 新建一个Asp.Net Core控制台项目:PublishDemo 安装Nuget包 Install-Package RabbitMQ.Client 添加命名空间引用 usin ...
- Spring中使用的设计模式
目录 Spring使用的设计模式 1.单例模式 2.原型模式 3.模板模式 4.观察者模式 5.工厂模式 简单工厂模式 工厂方法模式 6.适配器模式 7.装饰者模式 8.代理模式 9.策略模式 S ...
- ssh转发代理:ssh-agent用法详解
SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 使用ssh-agent之前 使用ssh公钥认证的方式可以免去ssh客户端(如 ...