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 属性指定的路径读取属性文件,并覆盖已读取的同名属性。
③ 最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。