国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

MyBatis中的properties配置(推薦)

2024-07-13 10:14:51
字體:
來源:轉載
供稿:網友

這些屬性都是可外部配置且可動態替換的,既可以在典型的 Java 屬性文件中配置,亦可通過 properties 元素的子元素來傳遞。例如:

<properties resource="org/mybatis/example/config.properties"> <property name="username" value="dev_user"/> <property name="password" value="F2Fa3!33TYyg"/></properties>

其中的屬性就可以在整個配置文件中使用來替換需要動態配置的屬性值。比如:

<dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/></dataSource>

這個例子中的 username 和 password 將會由 properties 元素中設置的相應值來替換。 driver 和 url 屬性將會由 config.properties 文件中對應的值來替換。這樣就為配置提供了諸多靈活選擇。

屬性也可以被傳遞到 SqlSessionFactoryBuilder.build()方法中。例如:

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, props);// ... or ...SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment, props);

如果屬性在不只一個地方進行了配置,那么 MyBatis 將按照下面的順序來加載:

在 properties 元素體內指定的屬性首先被讀取。

然后根據 properties 元素中的 resource 屬性讀取類路徑下屬性文件或根據 url 屬性指定的路徑讀取屬性文件,并覆蓋已讀取的同名屬性。

最后讀取作為方法參數傳遞的屬性,并覆蓋已讀取的同名屬性。

因此,通過方法參數傳遞的屬性具有最高優先級,resource/url 屬性中指定的配置文件次之,最低優先級的是 properties 屬性中指定的屬性。

從MyBatis 3.4.2開始,你可以為占位符指定一個默認值。例如:

<dataSource type="POOLED"> <!-- ... --> <property name="username" value="${username:ut_user}"/> <!-- If 'username' property not present, username become 'ut_user' --></dataSource>

這個特性默認是關閉的。如果你想為占位符指定一個默認值, 你應該添加一個指定的屬性來開啟這個特性。例如:

<properties resource="org/mybatis/example/config.properties"> <!-- ... --> <property name="org.apache.ibatis.parsing.PropertyParser.enable-default-value" value="true"/> <!-- Enable this feature --></properties>

你可以使用 ":" 作為屬性鍵(e.g. db:username) 或者你也可以在sql定義中使用 OGNL 表達式的三元運算符(e.g. ${tableName != null ? tableName : 'global_constants'}), 你應該通過增加一個指定的屬性來改變分隔鍵和默認值的字符。例如:

<properties resource="org/mybatis/example/config.properties"> <!-- ... --> <property name="org.apache.ibatis.parsing.PropertyParser.default-value-separator" value="?:"/> <!-- Change default value of separator --></properties><dataSource type="POOLED"> <!-- ... --> <property name="username" value="${db:username?:ut_user}"/></dataSource>

總結

以上所述是小編給大家介紹的MyBatis中的properties配置,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涡阳县| 开封县| 贵德县| 黔东| 长宁区| 开原市| 久治县| 合山市| 壤塘县| 绵竹市| 福建省| 洪雅县| 旬邑县| 长泰县| 呼和浩特市| 昭觉县| 芒康县| 临桂县| 株洲县| 克东县| 镇雄县| 漳平市| 九龙坡区| 嘉鱼县| 喀喇沁旗| 平乡县| 溆浦县| 永宁县| 佛教| 吕梁市| 永年县| 屏东市| 保山市| 都安| 阜城县| 洪洞县| 抚远县| 古浪县| 迁安市| 清原| 奇台县|