MyBatis之日誌及分頁介紹

2022-09-21 04:33:05 字數 1476 閱讀 3816

如果在測試sql的時候,控制台能夠輸出相關的 sql資訊,那麼是不是排錯效率就更快了?在j**a程式開發過程中,我們經常使用debug模式來調節程式,跟蹤**的執行過程。但是mybatis是基於介面、配置檔案的源**執行過程。因此,我們必須選擇日誌工具來作為我們開發、除錯程式的工具。

mybatis內建的日誌工廠提供日誌功能,具體的日誌實現有以下幾種方式:

注:具體選擇的日誌工具由mybatis的內建日誌工廠確定。它會按上文列舉的順序查詢,如果都未找到,則日誌功能就會被禁用。

log4j日誌是apache的乙個開源專案,通過使用log4j,我們可以將控制日誌資訊輸送到控制台,文字等,同時也可以控制每一條日誌的輸出格式,通過定義每一條日誌資訊的級別,我們能夠更加細緻地控制日誌的生成過程。這些可以通過乙個配置檔案來靈活地進行配置,而不需要修改應用的**。

log4j日誌功能使用步驟:

在學習mybatis等持久層框架的時候,會經常對資料進行增刪改查操作,使用最多的是對資料庫進行查詢操作,如果查詢大量資料的時候,我們往往使用分頁進行查詢,也就是每次處理小部分資料,這樣對資料庫壓力就在可控範圍內。

#分頁語法

select * from table limit stratindex,page size

#檢索記錄行 1-5  

select * from table limit 0,5;  

#為了檢索從某乙個偏移量到記錄集的結束所有的記錄行,可以指定第二個引數為 -1:(此方法已經廢除)    

select * from table limit 95,-1; // 檢索記錄行 96-last.

#如果只給定乙個引數,它表示返回最大的記錄行數目:

#limit n 等價於 limit 0,n。

select * from table limit 5; //檢索前 5 個記錄行  

select * from user limit #,#

select>

//選擇全部使用者實現分頁

list selectuser(map map);

在測試類中傳入引數測試:

我們除了使用limit在sql層面實現分頁,也可以使用rowbounds在j**a**層面實現分頁。

rowbounds分頁步驟:

//選擇全部使用者row bounds實現分頁

list getuserbyrowbounds();

select * from user

select>

實現測試類:

在處理分頁的時候,mybatis並沒有什麼特別的方法,一般需要自己去寫limit子句實現,不過有個pagehelper外掛程式。

pagehelper外掛程式分頁步驟:

官方文件:

mybatis之日誌原始碼解析

mybatis日誌這塊運用的設計模式有點像slf4j類似一樣,運用了構造器 介面卡和外觀者設計模式。應用嘗試載入各個日誌框架類來封裝成內部自己設計的log介面。這整個過程比較簡單,大概流程如下 原始碼實現流程 第一步,通過org.apache.ibatis.logging.logfactory類初始...

mybatis分頁外掛程式的介紹

引入需要使用的依賴 com.github.pagehelpergroupid pagehelperartifactid 5.1.2version dependency 在controller層使用pageinfo來接收前端傳遞過來的引數 pagenum pagesize 在查詢資料之前我們首先要開啟...

mybatis 動態sql及分頁

if 一樣的用拼接條件 bname trim 格式化標籤 prefix 字首 suffix 字尾 suffixoverrides 減除最後乙個 foreach 遍歷集合,批量查詢,通常用於in關鍵字 select from t mvc book where bid in 2.1 引數中直接加入 2....