繼續(xù)學(xué)習(xí)MyBatis核心配置文件章節(jié),不負(fù)年華
成都創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注做網(wǎng)站、網(wǎng)站制作、網(wǎng)站營(yíng)銷推廣,國(guó)際域名空間,網(wǎng)站空間,網(wǎng)站托管、服務(wù)器租用有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問(wèn)題,請(qǐng)聯(lián)系成都創(chuàng)新互聯(lián)公司。MyBatis核心配置文件核心配置文件中的 標(biāo)簽詳解
environments標(biāo)簽 | 含義 | 屬性 | 拓展 |
---|---|---|---|
environments | 配置多個(gè)連接數(shù)據(jù)庫(kù)的環(huán)境 | default:設(shè)置默認(rèn)使用的環(huán)境id | 無(wú) |
environment | 配置多個(gè)連接數(shù)據(jù)庫(kù)的環(huán)境 | id:表示連接數(shù)據(jù)庫(kù)環(huán)境的唯一標(biāo)識(shí),不能重復(fù) | 無(wú) |
transactionManager | 設(shè)置事務(wù)管理方式 | type=JDBC/MANAGED | JDBC:表示當(dāng)前環(huán)境中,執(zhí)行SQL時(shí),使用的是JDBC中原生的事務(wù)管理,事務(wù)的提交和回滾需要手動(dòng)處理MANAGED:被管理,例如Spring |
dataSource | 配置數(shù)據(jù)源 | type=POOLED/UNPOOLED/JNDI :設(shè)置數(shù)據(jù)源的類型 | POOLED:表示使用數(shù)據(jù)庫(kù)連接池緩存數(shù)據(jù)庫(kù)連接UNPOOLED:表示不使用數(shù)據(jù)庫(kù)連接池JNDI:表示使用上下文中的數(shù)據(jù)庫(kù)連接 |
property | 數(shù)據(jù)庫(kù)連接相關(guān)配置 | name value | 無(wú) |
實(shí)際開(kāi)發(fā)中,習(xí)慣將數(shù)據(jù)源的配置信息單獨(dú)抽取成一個(gè)properties文件,然后引入
新建一個(gè)properties文件
為什么要用Resource Bundle來(lái)創(chuàng)建properties文件,這是個(gè)問(wèn)題
看了官網(wǎng)的解釋,我有了那么一絲明悟
Resource Bundle 翻譯過(guò)來(lái) 資源包 或稱 資源束
2020.3版本時(shí)官網(wǎng)的釋義
用通俗的話來(lái)講,Resources目錄下用于存放配置文件,而部分配置文件可能文件特性相似(簡(jiǎn)單理解就是后綴名相同),就整合到一個(gè)目錄下,方便找尋和管理(這是個(gè)人淺薄的理解)
后綴名默認(rèn)為 properties
就算起個(gè)別名,也最好見(jiàn)名識(shí)義
報(bào)錯(cuò):元素類型為 “configuration” 的內(nèi)容必須匹配 “(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)”
意思是configuration中的標(biāo)簽要按上述順序書(shū)寫(xiě)
mappers別名常以包為單位,將包以下所有的結(jié)果類型設(shè)置默認(rèn)的類型別名,即類名不區(qū)分大小寫(xiě)
錯(cuò)誤的建包示范
正確的建包示范
MyBatis獲取參數(shù)值的兩種方式 搭建一個(gè)mybatis工程以包為單位引入映射文件
要求:
1.mapper接口所在的包要和映射文件所在的包一致
2.mapper接口要和映射文件的名字一致
pom文件中導(dǎo)入依賴
pom中添加packaging標(biāo)簽
項(xiàng)目產(chǎn)生的構(gòu)件類型,例如jar、war、pom
項(xiàng)目打包類型:pom、jar、war
pom --------->父類型都為pom類型jar --------->內(nèi)部調(diào)用或者是作服務(wù)使用war --------->需要部署的項(xiàng)目
MyBatis獲取參數(shù)值的兩種方式:${}
和#{}
${}
本質(zhì)字符串拼接#{}
本質(zhì)占位符賦值${}
使用字符串拼接的方式拼接sql,若為字符串類型或日期類型的字段進(jìn)行賦值時(shí),需要手動(dòng)加單引號(hào)
#{}
使用占位符賦值的方式拼接sql,此時(shí)為字符串類型或日期類型的字段進(jìn)行賦值時(shí),可以自動(dòng)添加單引號(hào)
mapper接口方法的參數(shù)為單個(gè)的字面量類型
遇見(jiàn)一個(gè)問(wèn)題,傳遞中文參數(shù)返回值為空(已解決)
在properties文件中的數(shù)據(jù)庫(kù)url后追加?useUnicode=true&characterEncoding=utf8
通過(guò)測(cè)試知道大括號(hào)中的參數(shù)名可以任意,但建議與參數(shù)名保持一致
小結(jié):可以通過(guò)${}
和#{}
以任意的名稱獲取參數(shù)值,但需要注意${}
單引號(hào)問(wèn)題
mapper接口方法的參數(shù)為多個(gè)時(shí)
此時(shí)MyBatis會(huì)將這些參數(shù)放在一個(gè)map集合中,以兩種方式進(jìn)行存儲(chǔ)
因此只需要通過(guò)#{}
或${}
以鍵的方式訪問(wèn)值即可,但需要注意${}
的單引號(hào)問(wèn)題
若mapper接口方法的參數(shù)有多個(gè)時(shí),可以手動(dòng)將這些參數(shù)放在一個(gè)map中存儲(chǔ)
只需通過(guò)#{}
或${}
以鍵的方式訪問(wèn)值即可,但要注意${}
的單引號(hào)
mapper接口方法的參數(shù)是實(shí)體類類型的參數(shù)
只需通過(guò)${}
或#{}
以屬性方式訪問(wèn)屬性值即可,但需要注意${}
的單引號(hào)問(wèn)題
mapper接口方法參數(shù)有多個(gè)
命名參數(shù)
使用@Param注解命名參數(shù)
此時(shí)MyBatis會(huì)將這些參數(shù)放在一個(gè)map集合中,以兩種方式進(jìn)行存儲(chǔ)
因此只需通過(guò)#{}
或${}
以鍵的方式訪問(wèn)值即可,但要注意單引號(hào)問(wèn)題
聽(tīng)懂了一小小小部分,就是判斷存入的鍵是否是param1、param2,不是就以這種方式存儲(chǔ)(大概是這么個(gè)意思~)
分析不下去了,太難了,太燒腦了~
這章節(jié)學(xué)習(xí)的難度不算很大,也就有點(diǎn)小問(wèn)題,但都解決了,也就是源碼分析暫時(shí)解決不了,所以要好好學(xué),好好看,到時(shí)候?qū)W成了,再回過(guò)頭來(lái)看
簡(jiǎn)單回顧下
文章目錄你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前題目:(Java)Mybatis學(xué)習(xí)筆記(二)-創(chuàng)新互聯(lián)
本文來(lái)源:http://www.rwnh.cn/article28/dghejp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容