MyBatisPlus系列十 公共字段自動填充

2021-09-20 13:15:30 字數 1398 閱讀 6320

元資料處理器介面:

insertfill(metaobject metaobject)

updatefill(metaobject metaobject)

metaobject: 元物件。是 mybatis 提供的乙個用於更加方便,更加優雅的訪問物件的屬性,給物件的屬性設定值 的乙個物件。還會用於包裝物件.。支援對 object 、map、collection 等物件進行包裝。

本質上 metaobject 獲取物件的屬性值或者是給物件的屬性設定值,最終是要 通過 reflector 獲取到屬性的對應方法的 invoker,最終 invoke。

1、 給實體新增註解填充字段 @tablefile(fill = fieldfill.insert) 。

@tablefield(fill = fieldfill.insert_update)

private string name ;

fieldfill類:

public enum fieldfill 

public static fieldfill getignore(int key)

}return default;

}public int getkey()

public string getdesc()

}

2、自定義公共字段填充處理器。

/**

* 自定義公共字段填充處理器

*/public class mymetaobjecthandler extends metaobjecthandler

} /**

* 修改操作自動填充

*/@override

public void updatefill(metaobject metaobject)

}}

3、mybatisplus全域性注入自定義公共字段填充處理器。

測試:

@test

public void testmetaobjecthandler()

控制台輸出:

preparing: update tbl_user set `name`=?, logic_flag=? where id=?

parameters: weiyh(string), 1(integer), 5(integer)

updates: 1

execute sql:

update

tbl_user

set`name`='weiyh',

logic_flag=1

where

id=5]

mybatis plus系列 快速體驗樣例工程

rul set foreign key checks 0 drop table if existst mybatis plus user create tablet mybatis plus user idint not null,namevarchar 127 default null,ageti...

MyBatisPlus系列九 自定義全域性操作

int deleteall 自定義全域性操作 public class mysqlinjector extends autosqlinjector 3 在 mybatisplus 全域性策略中,配置自定義注入器。測試 test public void testmysqlinjector 控制台輸出 ...

基礎系列 十 Math

1.math類 最終類提供了基本的計算方法。針對的是基本型別。提供了一系列的靜態方法來輔助進行數 算。2.bigdecima 乙個用於精確運算的類,傳入的引數許是字串形式。3.為什麼小數一般情況下不能精確運算。因為小數部分在轉化為二進位制的時候為 2,這種情況一般情況下會出現無線迴圈。strictf...