mybatis学习——properties属性实现引用配置文件

Mybatis核心配置文件中有很多的配置项,配置文档的顶层结构如下:

 

*注意:配置项的顺序不能颠倒,如果颠倒了它们的顺序,在MyBatis的自启动阶段会发生异常,导致程序无法运行。

 

 

properties(属性)

这里介绍properties的两种使用方式:

⚠️注意:因为是单独介绍,所以这里显示properties的配置,不显示其他配置项

1.property子元素:就是在properties属性中增加子属性property,从而设置一些配置的key-value;

  <properties >
        <property name="driver" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3307/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"></property>
        <property name="username" value="root"></property>
        <property name="password" value="root1234"></property>
  </properties>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

这种配置方式存在缺点:如果配置项很多,那么配置文件就会显得很庞大,为了解决这个问题,我们可以通过引入外部文件解决,就是下边介绍的properties文件的方式。

2.properties文件:就是直接使用properties引入外部配置文件,相当于将子属性抽取成一个独立的外部文件引入;

  首先编写一个properties文件命名为:db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3307/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
username=root
password=root1234

  然后在将该properties文件映入核心配置文件中,通过这条语句:<properties resource="db.properties"/>

<configuration>
    <properties resource="db.properties"/>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

*注意:如果db.properties不是放在resource包下边,则需要写完整的路径名,例如:

<properties resource="org/mybatis/example/config.properties">

 

posted @ 2020-03-15 13:56  白熊啊  阅读(1318)  评论(0编辑  收藏  举报