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&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">