properties元素

来源:互联网 发布:联通ssr免流端口2017 编辑:程序博客网 时间:2024/05/01 04:41
它们都是外部化,可替代的属性。可以配置在一个典型的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 0
原创粉丝点击