MyBatis【四】優化配置
MyBatis配置檔案很重要,首先我們來看看MyBatis配置檔案中的內容和順序:
<properties>(屬性)
<setting>(全域性配置引數)
<typeAliases>(類型別名)
<typeHandlers>(型別處理器)
<objectFactory>(物件工廠)
<plugins>(外掛)
<environments>(環境集合屬性物件)
<environment>(環境子屬性物件)
<transactionManager>(事務管理)
dataSource>(資料來源)
< mappers>(對映器)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
檔案目錄結構如下:
1.< properties>屬性定義
可以把一些通用的屬性值配置在屬性檔案中,載入到mybatis執行環境內。例如建立db.properties檔案,然後在SqlMapperConfig.xml中進行配置。db.properties檔案內容如下:
然後在SqlMapperConfig.xml中進行配置:
然後在< environments>標籤中用${}符號做如下修改:
注意:Mybatis將按照下面的順序來載入屬性
- 1.在properties標籤之間定義的屬性首先被讀取。
- 2.然後會讀取properties標籤內部resource或url的屬性,它會覆蓋已讀取的同名屬性。
- 3.最後讀取parameterType(即insert標籤或是update標籤或是…)傳遞的屬性,它會覆蓋已讀取的同名屬性。
所以我們建議使用properties標籤時,不要在properties標籤之間定義屬性,只引用在.properties檔案中定義的屬性,並且.properties檔案中定義的key值要有一些特殊的規則。例如我上述定義key值時前面都加了jdbc.的字首。
2.< settings>全域性引數配置
mybatis執行時可以調整一些全域性引數(相當於軟體的執行引數)。根據使用需求進行引數配置。但是要注意:小心配置,配置引數會影響mybatis的執行。
ibatis的全域性配置引數中包括很多的效能引數(最大執行緒數、最大等待時間…),通過調整這些效能引數使ibatis達到高效能的執行,而mybatis沒有這些效能引數,由mybatis自動調節。
3.< typeAliases>屬性
可以將parameterType、resultType中指定的型別通過別名引用。MyBatis提供了很多的別名如下:
這裡我們採用自定義的別名,在SqlMapperConfig.xml中進行如下配置:
裡面包括定義單個別名和批量別名定義(即一次性定義一個包下所有.java檔案的別名)。
定義別名後這樣我們在parameterType和resultType中使用時就不用再繁瑣的指定類的全限定類名了,像下面這樣使用即可
4.< typeHandlers>屬性
型別處理器將java型別和jdbc型別進行對映,mybatis提供了很多型別處理器,一般情況下夠用了。
5.< mapper>對映器屬性
之前我們在配置檔案中使用的< mapper>標籤內容為:< mapper resource=“mapper/UserMapper.xml”/>,接下來我要講的是另一種在配置檔案中對映mapper動態代理的方法。在配置檔案中這樣配置< mapper class=“mapper.UserMapper”/>,這樣的要求需要保證UserMapper.xml檔案和UserMapper.java在同一個包下且.xml檔案和.java檔名要同名。
同上方別名的配置,當包下出現多個Mapper.java和Mapper.xml時我們採用批量配置:< package name=“mapper”/>,程式碼如下:
相關推薦
MyBatis【四】優化配置
MyBatis配置檔案很重要,首先我們來看看MyBatis配置檔案中的內容和順序: <properties>(屬性) <setting>(全域性配置引數) <typeAliases>(類型別名) <typeHand
spring boot 2.1學習筆記【四】屬性配置
spring boot 2.1系列文章目錄 文章目錄 常規屬性配置 @value 啟動引數 application.properties 型別安全的屬性配置(強烈推薦)
YARN and MapReduce的【記憶體】優化配置詳解
在Hadoop2.x中, YARN負責管理MapReduce中的資源(記憶體, CPU等)並且將其打包成Container。使之專注於其擅長的資料處理任務, 將無需考慮資源排程. 如下圖所示 YARN會管理叢集中所有機器的可用計算資源. 基於這些資源YARN會排程應用
【TensorFlow原始碼系列】【四】圖優化演算法:constant folding和CSE
TensorFlow中使用的圖優化演算法有:constant folding 和CSE(common-subexpression elimination) 【演算法一】constant folding 該演算法,是將graph中常量的計算合併起來。例如: C = A+B,其中A和B都是con
【Git】 GitLab配置優化及漢化
GitLab配置 1、修改GitLab繫結的域名 a、修改/etc/gitlab/gitlab.rb配置檔案,修改成自己的域名 1 external_url 'http://gitlab.example.com' b、使配置生效 停止服務命令:gitlab-
【Mybatis學習筆記】01 配置搭建Mybatis
一、什麼是Mybatis mybatis是對jdbc的封裝 將sql語句放在對映檔案中(xml) 自動將輸入引數對映到sql語句的動態引數上自動將sql語句執行的結果對映成java物件。二、入門例項1、建立專案mybatis-01java專案maven2.匯入jar包![im
【轉】MongoDB配置文件說明
details 5.0 key 第一個 pen log data 端口 this 啟動MongoDB有2種方式,一是直接指定配置參數,二是指定配置文件。這裏先介紹配置文件,啟動方式如下: mongod --config /etc/mongodb.conf 配置如下:ve
010-shiro與spring web項目整合【四】緩存Ehcache、Redis
principal eba view event ica inter element edi value 一、Ehcache shiro每次授權都會通過realm獲取權限信息,為了提高訪問速度需要添加緩存,第一次從realm中讀取權限數據,之後不再讀取,這裏Shiro和E
【原創】Centos配置turn服務器
cal wget -a hup def database var kill 多個 使用ssh工具,進行命令行,安裝下面的就是可以配置turn-server(coturn) 1.安裝centos必須的庫文件 yum install -y make gcc cc gc
【四】MongoDB索引管理
過期 則無 面向 ssa 距離 comment fields 字段名 不包含 一、索引介紹 在mongodb中,索引用來支持高效查詢。如果沒有索引,mongodb必須在整個集合中掃描每個文檔來查找匹配的文檔。但是如果建立合適的索引,mongodb就可以通過索引來限制檢查的文
【轉】在配置靜態IP的時候遇到 :bringing up interface eth0 : error unknown connection
問題 切換 png 靜態ip gin face oot 是否 nbsp 首先這是動態ip配置成功的結果 接下來切換到root用戶來配置靜態的 按照靜態ip的配置方法配置好文件後(具體過程這裏就不多加說明) 然後保存退出 當我們重啟網卡的時候問題來了(
【Spring】EUREKA配置
client location time test tween strong ear table use HDD_EUREKA_SERVER application.yml server: port: 8101eureka: instance: h
【Hive】優化策略
nap set 進行 類型 命令 part ado http 計劃 Hive對於表的操作大部分都是轉換為MR作業的形式,為了提高OLAP[online analysis process 在線分析處理]的效率,Hive自身給出了很多的優化策略 1. explain[解釋執行計
移動端二三事【四】:陀螺儀(重力感應器)實現手機位置、加速度感應以及常見應用。
效果 防止 size tro 通過 select 代碼 陀螺儀 prime 首先說明一下:陀螺儀感應需在真機環境下進行調試,PC端無效果。 1.獲取感應器 需在window上監聽devicemotion事件,再通過事件對象獲取accelerationIncludingG
【mysql】mysql 配置
mark mysql gen engine fault my.cnf def class ner 安裝完mysql後, 要及得配置一下 /etc/mysql/my.cnf 配置字符編碼為utf8 [client] default-character-set = utf8
day40 python MySQL【四】 之 【索引】【視圖】【觸發器】【存儲過程】【函數】
cin 數量 存儲 自動 條件語句 ima doc 有序 lan 1.索引 索引相當於圖書的目錄,可以幫助用戶快速的找到需要的內容. 數據庫利用各種各樣的快速定位技術,能夠大大提高查詢效率。特別是當數據量非常大,查詢涉及多個表時,使用索引往往能使查詢速度加快成千上
Python開發【四】循環
內容 循環 pri python div 所有 clas bsp pre While循環 基本循環 while 條件: 執行內容 #循環體 ... #循環體 ... #循環體 # 若條件為真,執行循環體內容 #
Python學習 【四】:正則表達式
pan 直觀 不包含 得到 regex 很好 可能 for pattern 一、正則表達式基礎 1.簡介 正則表達式並不是Python的一部分。正則表達式是用於處理字符串的強大工具,擁有自己獨特的語法以及一個獨立的處理引擎,效率上可能不如str自帶的方法,但功能十分強大
第一次個人作業【四】(代碼編寫、調試、debug相關)
pre 運行速度 快速 hfile 配置 osi 命令 字符 最大值 代碼編寫過程中的重要知識點 VS調試命令行參數的輸入 在VS中調試,無法直接輸入命令行參數,但是可以通過一下方法配置命令行參數: 點擊菜單欄的 項目>>屬性 出現屬性對話框之後,選擇 配置屬
ASP.NET CORE系列【四】基於Claim登錄授權
amp account 技術 time 其他 cookie first arp 好的 介紹 關於什麽是Claim? 可以看看其他大神的文章: http://www.cnblogs.com/jesse2013/p/aspnet-identity-claims-base