发布于 2015-06-07 00:07:13 | 670 次阅读 | 评论: 0 | 来源: 网友投递

它们都是外部化,可替代的属性。可以配置在一个典型的Java 属性文件中,或者通过 properties 元素的子元素进行配置。例如:


<properties resource="org/mybatis/example/config.properties"> 
    <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 属性则会被config.properties 文件中的相应值替换。这里提供了大量的配置选项。 这些属性也可以传递给sqlSessionFactoryBuilder.build()方法。例如:


SqlSessionFactory factory =
sqlSessionFactoryBuilder.build(reader, props);
// ... or ...
SqlSessionFactory factory =
sqlSessionFactoryBuilder.build(reader, environment, props);


如果一个属性存在于多个地方,MyBatis 将使用下面的顺序加载: •首先读入properties 元素主体中指定的属性。
然后会加载类路径或者properties 元素中指定的url 的资源文件属性。它会覆盖前面已 经读入的重复属性。
通过方法参数来传递的属性将最后读取(即通过sqlSessionFactoryBuilder.build),同样也 会覆盖从properties 元素指定的和resource/url 指定的重复属性。
因此最优先的属性是通过方法参数来传递的属性,然后是通过resource/url 配置的属性,最 后是在MyBatis 的Mapper 配置文件中,properties 元素主体中指定的属性。

 

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务