當前位置:編程學習大全網 - 源碼下載 - Mybatis插件和通用Mapper使用

Mybatis插件和通用Mapper使用

1、mybatis執行過程分析

2、mybatis插件

3、通用Mapper使用

1.1 getMapper的到MapperProxy實例:

部分源碼:

DefaultSqlSession類:

Configuration類:

MapperRegistry類:

MapperProxyFactory類:

1.2 Executor執行的過程:

部分源碼:

MapperProxy類:

MapperMethod類:

DefaultSqlSession類:

BaseExecutor類:執行器的實現類:

SimpleExecutor類:

1.3 執行流程描述

執行器:

SimpleExecutor:默認的執行器

BatchExecutor:批處理的執行器

ReuseExecutor:預處理,重用的執行器

MyBatis 允許妳在已映射語句執行過程中的某壹點進行攔截調用。默認情況下,MyBatis 允許使用插件來攔截的方法調用包括:

1、創建攔截器類:

調試效果:

2、在全局配置文件中註冊攔截器:

源碼分析:

Plugin類:

3、測試;

2.2、pagehelper分頁插件使用:

官網:https://pagehelper.github.io/

1、引入jar包:

2、註冊攔截器:

參考官網用法

3、使用:

通用Mapper簡介:

通用Mapper都可以極大的方便開發人員。可以隨意的按照自己的需要選擇通用方法,還可以很方便的開發自己的通用方法。

極其方便的使用MyBatis單表的增刪改查。

支持單表操作,不支持通用的多表聯合查詢。

官方文檔參考

1、引入依賴:

2、定義實體類型:

泛型實體類的要求:

示例:

3、創建Dao接口:

4、測試:

部分接口說明:

Select

接口:SelectMapper<T>

方法:List<T> select(T record);

說明:根據實體中的屬性值進行查詢,查詢條件使用等號

接口:SelectByPrimaryKeyMapper<T>

方法:T selectByPrimaryKey(Object key);

說明:根據主鍵字段進行查詢,方法參數必須包含完整的主鍵屬性,查詢條件使用等號

Insert

接口:InsertMapper<T>

方法:int insert(T record);

說明:保存壹個實體,null的屬性也會保存,不會使用數據庫默認值

接口:InsertSelectiveMapper<T>

方法:int insertSelective(T record);

說明:保存壹個實體,null的屬性不會保存,會使用數據庫默認值

Update

接口:UpdateByPrimaryKeyMapper<T>

方法:int updateByPrimaryKey(T record);

說明:根據主鍵更新實體全部字段,null值會被更新

接口:UpdateByPrimaryKeySelectiveMapper<T>

方法:int updateByPrimaryKeySelective(T record);

說明:根據主鍵更新屬性不為null的值

Example 方法

接口:SelectByExampleMapper<T>

方法:List<T> selectByExample(Object example);

說明:根據Example條件進行查詢

重點:這個查詢支持通過Example類指定查詢列,通過selectProperties方法指定查詢

測試之前的準備:

示例1:根據主鍵進行查詢:

沒有設置@Id的結果:

設置@Id後的結果1:

示例2:錄入測試:

示例3:query by criteria

查詢命令如下:

通用Mapper也可以使用MBG自動生成;

1、Mybatis的執行流程分析

2、Mybatis的插件機制

3、通用Mapper使用

  • 上一篇:晨會分享幽默笑話
  • 下一篇:如何查看Hadoop運行過程中產生日誌
  • copyright 2024編程學習大全網