peroperties元素
可外部配置且可動態替換的,既可以在典型的 Java 屬性文件中配置,亦可通過 properties 元素的子元素來傳遞
為dataSource元素配置
1 <properties> 2 <property name="driver" value="com.mysql.jdbc.Driver" /> 3 <property name="url" value="jdbc:mysql://localhost:3306/test" /> 4 <property name="username" value="root" /> 5 <property name="password" value="root" /> 6 </properties>
在properties元素的子元素中配置連接數據庫驅動需要的東西
之后在environment元素的dataSource元素中為其動態設置
1 <environment id="development"> 2 <transactionManager type="JDBC" /> 3 <dataSource type="POOLED"> 4 <property name="driver" value="${driver}" /> 5 <property name="url" value="${url}" /> 6 <property name="username" value="${username}" /> 7 <property name="password" value="${password}" /> 8 </dataSource> 9 </environment>
將值設置為${name名稱},,
注意:這個name名不是dataSource下property的name名,與它無關,只是名字設置一樣,而是上面properties下property的name名
而datasource下的property的name屬性不能改變,讀取配置文件時需要固定名稱。
然而properties的作用並不單單是這樣
你可以創建一個資源文件,名為jdbc.properties的文件,將四個連接字符串的數據在資源文件中通過鍵值對(key=value)的方式放置,不要任何符號,一條占一行
配置文件中的properties元素不再需要子元素了,為其添加一個屬性resource,其值為,資源文件的完整包名+資源文件名
1 driver=com.mysql.jdbc.Driver 2 url=jdbc:mysql://localhost:3306/test 3 username=root 4 password=root
1 <properties resource="jdbc.properties"/>
dataSource元素下的property的value還是${uername}這樣,不需要改變
這就是properties元素和properties的好處,有需要修改的時候不用修改那么多,只要修改資源文件即可
可以用於底層jdbc運用的資源文件
1 FileInputStream fis=new FileInputStream("C:\\Users\\光奇\\workspace\\mybatis\\src\\main\\resources\\jdbc.properties"); 2 Properties pr=new Properties(); 3 pr.load(fis); 4 Class.forName(pr.getProperty("driver"));
5 conn=DriverManager.getConnection(pr.getProperty("url"),pr.getProperty("username"),pr.getProperty("password"));
同樣實現了獲得數據庫連接