MyBatis(三)全局配置文件 之 properties 属性

Properties 属性

  Mybatis 可以使用 properties 来引入外部properties配置文件或资源文件中的内容。
 
  properties 标签有两个属性:
  resource:引入类路径下的资源;
  url:引入网络路径或者磁盘路径下的资源。

  

方式一:

  可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来配置

<properties>
     <property name="driver"  value="com.mysql.jdbc.Driver" />
     <property name="url"  value="jdbc:mysql://localhost:3306/ssm" />
     <property name="username" value="root" />
     <property name="password" value="root" />
</properties>

<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC"/>
        <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
            <property name="username" value="root"/>
            <property name="password" value="root"/>
        </dataSource>
    </environment>
</environments>

  静态配置属性信息。

方式二:动态获取

  properties 的作用并不单单是这样,也可以在外面创建一个资源文件,名为jdbc.properties 的文件,将四个连接字符串的数据在资源文件中通过键值,对 {key=value} 的方式放置,不用任何符号,一条占一行

  创建数据库配置文件:dbconfig.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=root

    在配置文件中使用 properties 标签引入

    <!--
        1、MyBatis 可以使用 properties 来引入外部 properties配置文件的内容:
          resource:引入类路径下的资源
          url:引入网络路径或者磁盘路径下的资源
    -->
    <properties resource="dbconfig.properties"/>

   动态获取值:

    在 environment 元素的 DataSource 元素中为其动态设置

<!-- 数据库连接环境的配置 -->
 <environments default="development">
     <environment id="development">
          <transactionManager type="JDBC" />
          
          <dataSource type="POOLED">
              <property name="driver"  value="${jdbc.driver}" />
              <property name="url"  value="${jdbc.url}" />
              <property name="username"  value="${jdbc.username}" />
              <property name="password"  value="${jdbc.password}" />
          </dataSource>
     </environment>
 </environments>
  注意: 如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载:
    ① 在 properties 元素体内指定的属性首先被读取。
    ② 然后根据 properties 元素中的 resource 属性读取类路径下属性文件或根据 url 属性指定的路径读取属性文件,并覆盖已读取的同名属性。
    ③ 最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。
 
原文地址:https://www.cnblogs.com/niujifei/p/15220987.html