1.使用MyBatis實現條件查詢sql
(1)sql映射文件數據庫
<1>用於區分不一樣的mapper,全局惟一編程
<2>綁定DAO接口,即面向接口編程。當namespace綁定某一接口以後,能夠不用寫該接口的實現類,MyBatis會經過接口的完整限定名查找到對應的mapper配置來執行SQL語句。所以namespace的命名必需要跟接口同名。緩存
2.使用resultMap完成查詢結果的展示app
(1)resultTypespa
resultType直接表示返回類型,包括基礎數據類型和複雜數據類型對象
(2)resultMapblog
resultMap則是對外部resultMap定義的引用,對應外部resultMap的id,表示返回結果映射到哪個resultMap上。它的應用場景通常是:數據庫字段信息與對象屬性不一致或者須要作複雜的聯合查詢以便自由控制映射結果接口
(3)resultType和resultMap的關聯ci
在MyBatis進行查詢映射的時候,其實查詢出來的每一個字段值都放在一個對應的Map裏面,其中鍵是字段名,值則是其對應的值。當select元素提供的返回類型屬性是resultType的時候,MyBatis會將Map裏面的鍵值對取出賦值給resultType所指定的對象對應的屬性(即調用對應的對象裏的屬性的setter方法進行填充)。
resultType屬性和resultMap屬性絕對不能同時存在
3.使用@Param註解實現多參數入參
4.使用resultMap實現高級結果映射
(4.1)association
association僅處理一對一的關聯關係
(4.2)collection
5.resultMap自動映射級別和MyBatis緩存
(1)MyBatis對resultMap自動映射的三個匹配級別: