(Mybatis映射配置文件.doc
文本预览下载声明
XML 映射配置文件
MyBatis 的 XML 配置文件包含了影响 MyBatis 行为甚深的设置和属性信息。 XML 文档的高层级结构如下:
configuration 配置
properties 属性
settings 设置
typeAliases 类型命名
typeHandlers 类型处理器
objectFactory 对象工厂
plugins 插件
environments 环境
environment 环境变量
transactionManager 事务管理器
dataSource 数据源
databaseIdProvider chinese?
mappers 映射器
properties
这些是外部化的, 可替代的属性, 这些属性也可以配置在典型的 Java 属性配置文件中, 或者通过 properties 元素的子元素来传递。例如:
properties resource=org/mybatis/example/perties
property name=username value=dev_user/
property name=password value=F2Fa3!33TYyg/
/properties
其中的属性就可以在整个配置文件中使用,使用可替换的属性来实现动态配置。比如:
dataSource type=POOLED
property name=driver value=${driver}/
property name=url value=${url}/
property name=username value=${username}/
property name=password value=${password}/
/dataSource
这个例子中的 username 和 password 将会由 properties 元素中设置的值来替换。 driver 和 url 属性将会从包含进来的 perties 文件中的值来替换。这里提供很多配置的选项。
属性也可以被传递到 SqlSessionBuilder.build()方法中。例如:
SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader, props);
// ... or ...
SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader, environment, props);
如果在这些地方,属性多于一个的话,MyBatis 按照如下的顺序加载它们:
在 properties 元素体内指定的属性首先被读取。
从类路径下资源或 properties 元素的 url 属性中加载的属性第二被读取,它会覆盖已经存在的完全一样的属性。
作为方法参数传递的属性最后被读取, 它也会覆盖任一已经存在的完全一样的属性,这些属性可能是从 properties 元素体内和资源/url 属性中加载的。
因此, 最高优先级的属性是那些作为方法参数的, 然后是资源/url 属性, 最后是 properties 元素中指定的属性。
settings
这些是极其重要的调整, 它们会修改 MyBatis 在运行时的行为方式。下面这个表格描述了设置信息,它们的含义和默认值。
设置参数 描述 有效值 默认值 cacheEnabled 这个配置使全局的映射器启用或禁用 缓存。 true | false true lazyLoadingEnabled 全局启用或禁用延迟加载。当禁用时, 所有关联对象都会即时加载。 true | false true aggressiveLazyLoading 当启用时, 有延迟加载属性的对象在被 调用时将会完全加载任意属性。否则, 每种属性将会按需要加载。 true | false true multipleResultSetsEnabled 允许或不允许多种结果集从一个单独 的语句中返回(需要适合的驱动) true | false true useColumnLabel 使用列标签代替列名。 不同的驱动在这 方便表现不同。 参考驱动文档或充分测 试两种方法来决定所使用的驱动。 true | false true useGeneratedKeys 允许 JDBC 支持生成的键。 需要适合的 驱动。 如果设置为 true 则这个设置强制 生成的键被使用, 尽管一些驱动拒绝兼 容但仍然有效(比如 Derby) true | false False autoMappingBeh
显示全部