新聞中心
屬性(properties)
這些屬性可以在外部進行配置,并可以進行動態(tài)替換。你既可以在典型的 Java 屬性文件中配置這些屬性,也可以在properties元素的子元素中設(shè)置。例如:

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:網(wǎng)站設(shè)計制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的龍馬潭網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
設(shè)置好的屬性可以在整個配置文件中用來替換需要動態(tài)配置的屬性值。比如:
這個例子中的 ?username和 ?password將會由 ?properties元素中設(shè)置的相應值來替換。 ?driver和 ?url屬性將會由 ?config.properties? 文件中對應的值來替換。這樣就為配置提供了諸多靈活選擇。
也可以在 ?SqlSessionFactoryBuilder.build() ?方法中傳入屬性值。例如:
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, props);
// ... 或者 ...
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment, props);如果一個屬性在不只一個地方進行了配置,那么,MyBatis 將按照下面的順序來加載:
- 首先讀取在 ?
properties元素體內(nèi)指定的屬性。 - 然后根據(jù) ?
properties元素中的resource屬性讀取類路徑下屬性文件,或根據(jù)url屬性指定的路徑讀取屬性文件,并覆蓋之前讀取過的同名屬性。 - 最后讀取作為方法參數(shù)傳遞的屬性,并覆蓋之前讀取過的同名屬性。
因此,通過方法參數(shù)傳遞的屬性具有最高優(yōu)先級,?resource/url? 屬性中指定的配置文件次之,最低優(yōu)先級的則是 ?properties元素中指定的屬性。
從 MyBatis 3.4.2 開始,你可以為占位符指定一個默認值。例如:
這個特性默認是關(guān)閉的。要啟用這個特性,需要添加一個特定的屬性來開啟這個特性。例如:
如果你在屬性名中使用了 ?":"? 字符(如:?db:username?),或者在 SQL 映射中使用了 ?OGNL表達式的三元運算符(如:? ${tableName != null ? tableName : 'global_constants'}?),就需要設(shè)置特定的屬性來修改分隔屬性名和默認值的字符。例如:
網(wǎng)頁名稱:創(chuàng)新互聯(lián)MyBatis教程:MyBatis3XML配置-屬性
鏈接分享:http://fisionsoft.com.cn/article/dhhedes.html


咨詢
建站咨詢
