1、resultmap
當實體類與資料庫的名字不匹配時
自動對映
resultmap元素是mybatis 中最重要最強大的元素2 、日誌工廠resultmap的設計思想是,對於簡單的語句根本不需要配置顯式的結果對映,而對於複雜一點的語句只需要描述它們的關係就行了。
resu7tmap最優秀的地方在於,雖然你已經對它相當了解了,但是根本就不需要顯式地用到他們。·如果世界總是這麼簡單就好了。
如果乙個 資料庫相關的操作出現了問題,我們可以根據輸出的sql語句快速排查問題。mybatis內建的日誌工廠提供日誌功能,具體的日誌實現有以下幾種工具:對於以往的開發過程,我們會經常使用到debug模式來調節,跟蹤我們的**執行過程。但是現在使用mybatis是基於介面,配置檔案的源**執行過程。因此,我們必須選擇日誌工具來作為我們開發,調節程式的工具
>
name
="logimpl"
value
="stdout_logging"
/>
settings
>
可以通過這個獲得sql語句,可以直接檢視
日誌工廠中的一類
log4j是apache的乙個開放源**專案,通過使用log4j,使用步驟:我們可以控制日誌資訊輸送的目的地是控制台、檔案、gui元件
我們也可以控制每一條日誌的輸出格式
通過定義每一條日誌資訊的級別
通過乙個配置檔案來靈活地進行配置,而不需要修改應用的**
(1)、匯入log4j的包
>
>
log4jgroupid
>
>
log4jartifactid
>
>
1.2.17version
>
dependency
>
(2)、配置檔案編寫(log4j.properties)
# priority :debug(3)、setting設定日誌實現
>
name
="logimpl"
value
="log4j "
/>
settings
>
(4)、在程式中使用log4j進行輸出
(5)測試,看控制台輸出
3、分頁
在學習mybatis等持久層框架的時候,會經常對資料進行增刪改查操作,使用最多的是對資料庫進行查詢操作,如果查詢大量資料的時候,我們往往使用分頁進行查詢,也就是每次處理小部分資料,這樣對資料庫壓力就在可控範圍內
(1)limit分頁
原理
#語法
select * from table limit stratindex,pagesize
select * from table limit 5,10
;// 檢索記錄行 6-15
#為了檢索從某乙個偏移量到記錄集的結束所有的記錄行,可以指定第二個引數為 -
1:
select * from table limit 95,-
1;// 檢索記錄行 96-last.
#如果只給定乙個引數,它表示返回最大的記錄行數目:
select * from table limit 5
;//檢索前 5 個記錄行
#換句話說,limit n 等價於 limit 0
,n。
"selectuser"
parametertype
="map"
resulttype
="user"
>
select * from user limit #,#
select
>
//選擇全部使用者實現分頁
list
selectuser
(map
map)
;
3.在測試類中傳入引數測試
推斷:起始位置 = (當前頁面 - 1 ) * 頁面大小
//分頁查詢 , 兩個引數startindex , pagesize
@test
public
void
testselectuser()
session.
close()
;}
(2)rowbounds分頁//選擇全部使用者rowbounds實現分頁
list
getuserbyrowbounds()
;
"getuserbyrowbounds"
resulttype
="user"
>
select * from user
select
>
3.測試類
@test
public
void
testuserbyrowbounds()
session.
close()
;}
(3)pagehelper官方文件: MyBatis03 Mapper XML對映檔案
最常用的,無可厚非,就是insert delete update select,分別對應於增 刪 改 查嘛。查詢語句是 mybatis 中最常用的元素之一,大多數的應用,查詢都比修改要繁瑣,對每個插入 更新或刪除操作,通常對應多個查詢操作。這是 mybatis 的基本原則之一,也是將焦點和努力放到查...
Mybatis 三 Mybatis快取配置
強烈推薦乙個大神的人工智慧的教程 使用快取可以提高獲取資料的速度,避免頻繁的資料庫互動,尤其是在查詢越多,快取命中率越高的情況下,使用快取的作用就更加明顯了。一般提到mybatis快取的時候都是指二級快取,一級快取缺省會啟用。catch ioexception ignore public sqlse...
MyBatis 03 輸出結果封裝
查詢總記錄條數 int findtotal findtotal resulttype int select count from user select 查詢所有使用者 list findall findall resulttype com.jess.domain.user select from ...