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