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&useUnicode=true&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">