mybatisplus官方文件學習筆記二(註解)

2021-10-10 05:11:07 字數 3772 閱讀 1666

屬性 型別 必須指定 預設值 描述

1.value |string |否 |"" |表名

2.schema |string |否 |""| schema

3.keepglobalprefix| boolean |否 |false |是否保持使用全域性的 tableprefix 的值(如果設定了全域性 tableprefix 且自行設定了 value 的值)

4.resultmap |string |否 |""| xml 中 resultmap 的 id

5.autoresultmap |boolean |否 |false |是否自動構建 resultmap 並使用(如果設定 resultmap 則不會進行 resultmap 的自動構建並注入)

關於autoresultmap的說明:

mp會自動構建乙個resultmap並注入到mybatis裡(一般用不上).下面講兩句: 因為mp底層是mybatis,所以一些mybatis的常識你要知道,mp只是幫你注入了常用crud到mybatis裡 注入之前可以說是動態的(根據你entity的字段以及註解變化而變化),但是注入之後是靜態的(等於你寫在xml的東西) 而對於直接指定typehandler,mybatis只支援你寫在2個地方:

定義在resultmap裡,只作用於select查詢的返回結果封裝

定義在insert和updatesql的#裡的property後面(例:#),只作用於設定值 而除了這兩種直接指定typehandler,mybatis有乙個全域性的掃瞄你自己的typehandler包的配置,這是根據你的property的型別去找typehandler並使用.

屬性 型別 必須指定 預設值 描述

1.value |string| 否 |""| 主鍵欄位名

2.type |enum| 否 |idtype.none |主鍵型別

上面的idtype中,我們有以下的值可以提供選擇:

auto: 資料庫id自增

none: 無狀態,該型別為未設定主鍵型別(註解裡等於跟隨全域性,全域性裡約等於 input)

input: insert前自行set主鍵值

assign_id: 分配id(主鍵型別為number(long和integer)或string)(since 3.3.0),使用介面identifiergenerator的方法nextid(預設實現類為defaultidentifiergenerator雪花演算法)

assign_uuid: 分配uuid,主鍵型別為string(since 3.3.0),使用介面identifiergenerator的方法nextuuid(預設default方法)

屬性 型別 必須指定 預設值 描述

value|string| 否| 「」 |資料庫欄位名

el|string |否 |"" |對映為原生 # 邏輯,相當於寫在 xml 裡的 # 部分

exist|boolean |否 true 是否為資料庫表字段

condition|string |否 |""| 字段 where 實體查詢比較條件,有值設定則按設定的值為準,沒有則為預設全域性的 %s=#,參考

update|string |否 |""| 字段 update set 部分注入, 例如:update="%s+1":表示更新時會set version=version+1(該屬性優先順序高於 el 屬性)

insertstrategy| enum |n |default |舉例:not_null: insert into table_a(column) values (#)

updatestrategy|enum| n |default |舉例:ignored: update table_a set column=#

wherestrategy| enum |n |default |舉例:not_empty: where column=#

fill|enum |否| fieldfill.default |字段自動填充策略

select|boolean| 否 |true |是否進行 select 查詢

keepglobalformat|boolean |否 |false |是否保持使用全域性的 format 進行處理

jdbctype|jdbctype |否 |jdbctype.undefined |jdbc型別 (該預設值不代表會按照該值生效)

typehandler|class<? extends typehandler>| 否 |unknowntypehandler.class |型別處理器 (該預設值不代表會按照該值生效)

numericscale|string |否 |"" |指定小數點後保留的位數

關於jdbctypetypehandler以及numericscale的說明:

numericscale只生效於 update 的sql. jdbctype和typehandler如果不配合@tablename#autoresultmap = true一起使用,也只生效於 update 的sql. 對於typehandler如果你的字段型別和set進去的型別為equals關係,則只需要讓你的typehandler讓mybatis載入到即可,不需要使用註解

其中:fieldstrategy

值 描述

ignored忽略判斷

not_null非null判斷

not_empty非空判斷(只對字串型別字段,其他型別字段依然為非null判斷)

default追隨全域性配置

fieldfill

值 描述

default預設不處理

insert插入時填充字段

update更新時填充字段

insert_update插入和更新時填充字段

屬性 型別 必須指定 預設值 描述

value|string |否| 「」 |邏輯未刪除值

delval| string |否| 「」 |邏輯刪除值

屬性 型別 必須指定 預設值 描述

filter|boolean| 否| false |true: 表示過濾sql解析,即不會進入isqlparser解析鏈,否則會進解析鏈並追加例如tenant_id等條件

屬性:value、resultmap

屬性 型別 必須指定 預設值 描述

value string 否 「」 序列名

clazz class 否 long.class id的型別, 可以指定string.class,這樣返回的sequence值是字串"1"

kvm官方文件

kvm官方文件 kvm活遷移 使用libvirt庫建立虛擬機器 domain 需要使用xml檔案作為配置檔案,如下是乙個最基本的虛擬機器配置檔案.2014 07 01 20 50 閱讀 233 在使用qemu建立虛擬機器的過程中是無法指定ip位址的,可是在實際應用中,我們是需要虛擬機器擁有ip位址的...

grok 官方文件

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!name code class html grok 解析任意文字並構造它 grok 是當前最好的方式在logstash 解析蹩腳的非結構化日誌資料 到一些結構化的可查詢的。這個工具是完美的對於syslog logs,apache和其他webserv...

PyGame官方文件

幫助內容 help contents 指導索引 reference index 最有用的東西 most useful stuff color display draw event font image key locals mixer mouse rect su ce time music pyga...