Mybatis plus 自定義ID生成器

2021-10-17 04:40:49 字數 1568 閱讀 8817

/**

* 雪花演算法生成唯一的有序的序列號

*/public

class

snowflakeutils

if(machineid > max_machine_num || machineid <0)

this

.datacenterid = datacenterid;

this

.machineid = machineid;

}/**

* 產生下乙個id

** @return

*/public

synchronized

long

nextid()

if(currstmp == laststmp)}}

}else

laststmp = currstmp;

return

(currstmp - start_stmp)

<< timestmp_left //時間戳部分

| datacenterid << datacenter_left //資料中心部分

| machineid << machine_left //機器標識部分

| sequence;

//序列號部分

}private

long

getnextmill()

return mill;

}private

long

getnewstmp()

public

static

long

getid()

// public static void main(string args)

}

/**

* mybaits 自定義主鍵生成器

*/@component

// 加入到spring容器中

public

abstract

class

mybatiskeygenerator

implements

identifiergenerator")

private integer workerid;

@value

("$"

)private integer datacenterid;

@override

public number nextid

(object entity)

}

//使用自定義id生成器

@data

@tablename

("am_contract"

)@equalsandhashcode

(callsuper =

true

)@apimodel

(value =

"合同資訊"

)public

class

amcontract

extends

baseentity

MyBatis Plus 自定義sql語句

一 引言 mp自帶的條件構造器雖然很強大,有時候也避免不了寫稍微複雜一點業務的sql,那麼那麼今天說說mp怎麼自定義sql語句吧。二 配置 自定義的sql當然是寫在xml檔案中的啦,那麼首先來定義xml檔案的位置,在yml配置檔案如下 mybatis plus 三 具體實現 使用註解實現 authe...

Mybatis Plus 自定義方法實現分頁

一般物理分頁,即通過sql語句分頁,都是在sql語句後面新增limit分頁語句,在xml檔案裡傳入分頁的引數,再多配置一條sql,用於查詢總數 select count from student 這樣可以實現分頁,但是每條sql都這樣寫,很冗餘,而且不好維護,所以高階一點的方式就是自定義的乙個 攔截...

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

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