MybatisPlus的各種支援的主鍵策略!

2022-01-09 22:36:04 字數 1773 閱讀 2447

目錄注:本文**樣例及sql指令碼均已上傳至gitee:spring-boot-mybatis-plus學習

mybatisplus支援的主鍵策略定義在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方法)

id_worker

分布式全域性唯一id 長整型型別(please useassign_id)

uuid

32位uuid字串(please useassign_uuid)

id_worker_str

分布式全域性唯一id 字串型別(please useassign_id)

/**

* 生成id型別列舉類

* * @author hubin

* @since 2015-11-10

*/@getter

public enum idtype (雪花演算法)

** @since 3.3.0

*/assign_id(3),

/*** 分配uuid (主鍵型別為 string)

* 預設實現類 (uuid.replace("-",""))

*/assign_uuid(4),

/*** @deprecated 3.3.0 please use

*/@deprecated

id_worker(3),

/*** @deprecated 3.3.0 please use

*/@deprecated

id_worker_str(3),

/*** @deprecated 3.3.0 please use

*/@deprecated

uuid(4);

private final int key;

idtype(int key)

}

可以使用@tableid確定主鍵,使用type屬性規定主鍵策略:

@tableid(type = idtype.auto) //指定主鍵

private long id;

測試一下:

@test

void insert()

文件:

全域性配置

mybatis-plus:

global-config:

db-config:

id-type: auto

區域性配置

@tableid(type = idtype.auto) //指定主鍵

private long id;

MyBatis Plus的CRUD 簡單操作

crud 是指在做計算處理時的增加 create 讀取查詢 retrieve 更新 update 和刪除 delete 幾個單詞的首字母簡寫。增加操作 resource test public void insert 執行完成後的 查詢操作 test public void selectbyname...

MybatisPlus中的刪除操作

目錄 物理刪除與邏輯刪除 物理刪除 邏輯刪除 物理刪除 從資料庫中直接移除邏輯刪除 沒有真實的被刪除掉,通過乙個變數讓該條記錄失效。delete 0 delete 1 根據id刪除 test public void testdeletebyid 根據id批量刪除 test public void t...

MybatisPlus的自動填充功能

在對資料可進行一些操作的時候,有些字段基本是固定,比如建立時間和修改時間,我們可以利用mybatisplus的自動填充功能來實現。1.首先在需要在自動填充的字段屬性上新增配置 fieldfill.insert表示插入操作時起作用,fieldfill.insert update表示在插入和修改時起作用...