peroperties元素
可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递
为dataSource元素配置
<properties>
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="root" />
</properties>
在properties元素的子元素中配置连接数据库驱动需要的东西
之后在environment元素的dataSource元素中为其动态设置
<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>
将值设置为${name名称},,
注意:这个name名不是dataSource下property的name名,与它无关,只是名字设置一样,而是上面properties下property的name名
而datasource下的property的name属性不能改变,读取配置文件时需要固定名称。
然而properties的作用并不单单是这样
你可以创建一个资源文件,名为jdbc.properties的文件,将四个连接字符串的数据在资源文件中通过键值对(key=value)的方式放置,不要任何符号,一条占一行
配置文件中的properties元素不再需要子元素了,为其添加一个属性resource,其值为,资源文件的完整包名+资源文件名
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=root
<properties resource="jdbc.properties"/>
dataSource元素下的property的value还是${uername}这样,不需要改变
这就是properties元素和properties的好处,有需要修改的时候不用修改那么多,只要修改资源文件即可
可以用于底层jdbc运用的资源文件
FileInputStream fis=new FileInputStream("C:\\Users\\光奇\\workspace\\mybatis\\src\\main\\resources\\jdbc.properties");
Properties pr=new Properties();
pr.load(fis);
Class.forName(pr.getProperty("driver"));
5 conn=DriverManager.getConnection(pr.getProperty("url"),pr.getProperty("username"),pr.getProperty("password"));
同样实现了获得数据库连接