/**
* 雪花演算法生成唯一的有序的序列號
*/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 控制台輸出 ...