真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Properties在MyBatis?中的作用是什么

這篇文章將為大家詳細(xì)講解有關(guān)Properties在MyBatis 中的作用是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、做網(wǎng)站、開(kāi)封網(wǎng)絡(luò)推廣、微信小程序、開(kāi)封網(wǎng)絡(luò)營(yíng)銷、開(kāi)封企業(yè)策劃、開(kāi)封品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供開(kāi)封建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

1、我們將 數(shù)據(jù)庫(kù)的配置語(yǔ)句寫(xiě)在 db.properties 文件中

jdbc.driver=com.MySQL.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.username=root
jdbc.password=root

2、在  mybatis-configuration.xml 中加載db.properties文件并讀取







 
 
 
 
 
 
 
 
 
 
 
 

如果數(shù)據(jù)庫(kù)有變化,我們就可以通過(guò)修改 db.properties 文件來(lái)修改,而不用去修改 mybatis-configuration.xml 文件

注意:我們也可以在中手動(dòng)增加屬性



 

那么這個(gè)時(shí)候是讀取的username 是以 db.properties 文件中的 root 為準(zhǔn),還是以自己配置的 aaa 為準(zhǔn)呢?

我們先看一段 properties 文件加載的源碼

private void propertiesElement(XNode context) throws Exception {
 if (context != null) {
 /**
 * 解析properties 屬性中指定的屬性。
 */
 Properties defaults = context.getChildrenAsProperties();
 String resource = context.getStringAttribute("resource"); //resource 制定的屬性路徑
 String url = context.getStringAttribute("url"); //url制定的屬性路徑
 if (resource != null && url != null) {
 throw new BuilderException("The properties element cannot specify both a URL and a resource based property file reference. Please specify one or the other.");
 }
 /**
 * 根據(jù) properties 元素中的 resource 屬性讀取類路徑下屬性文件,并覆蓋properties 屬性中指定的同名屬性。
 */
 if (resource != null) {
 defaults.putAll(Resources.getResourceAsProperties(resource));
 } else if (url != null) {
 /**
 * 根據(jù)properties元素中的url屬性指定的路徑讀取屬性文件,并覆蓋properties 屬性中指定的同名屬性。
 */
 defaults.putAll(Resources.getUrlAsProperties(url));
 }
 /**
 * 獲取方法參數(shù)傳遞的properties
 * 創(chuàng)建XMLConfigBuilder實(shí)例時(shí),this.configuration.setVariables(props);
 */
 Properties vars = configuration.getVariables();
 if (vars != null) {
 defaults.putAll(vars);
 }
 parser.setVariables(defaults);
 configuration.setVariables(defaults);
 }
}

通過(guò)源碼我們可以分析讀取優(yōu)先級(jí):

1、在 properties 內(nèi)部自定義的屬性值第一個(gè)被讀取

2、然后讀取 resource 路徑表示文件中的屬性,如果有它會(huì)覆蓋已經(jīng)讀取的屬性;如果 resource 路徑不存在,那么讀取 url 表示路徑文件中的屬性,如果有它會(huì)覆蓋第一步讀取的屬性值

3、最后讀取 parameterType 傳遞的屬性值,它會(huì)覆蓋已讀取的同名的屬性

前面兩步好理解,第三步我們可以舉個(gè)例子來(lái)看:

我們?cè)?userMapper.xml 文件中進(jìn)行模糊查詢


 select * from user where username like '%${jdbc.username}%'
 

這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)無(wú)論你后臺(tái)傳給這個(gè)查詢語(yǔ)句什么參數(shù),都是 select * from user where username like '%root%'

mybatis 的別名配置  

在 userMapper.xml 文件中,我們可以看到resultType 和 parameterType 需要指定,這這個(gè)值往往都是全路徑,不方便開(kāi)發(fā),那么我們就可以對(duì)這些屬性進(jìn)行一些別名設(shè)置

Properties在MyBatis?中的作用是什么

1、mybatis 默認(rèn)支持的別名


  Properties在MyBatis?中的作用是什么

2、自定義別名

一、定義單個(gè)別名

首先在全局配置文件 mybatis-configuration.xml 文件中添加如下配置:是在標(biāo)簽下



 

第二步通過(guò) user 引用

Properties在MyBatis?中的作用是什么

 二、批量定義別名

在全局配置文件 mybatis-configuration.xml 文件中添加如下配置:是在標(biāo)簽下



 
 

關(guān)于Properties在MyBatis 中的作用是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


文章名稱:Properties在MyBatis?中的作用是什么
網(wǎng)站URL:http://weahome.cn/article/gsdids.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部