MyBatis-Plus日誌配置
阿新 • • 發佈:2020-09-08
SQL是不可見的,所以開發的時候我們得知道它是怎麼執行的,所以我們得看日誌;但上線時得去除掉,它是浪費時間的。
#日誌配置 #org.apache.ibatis.logging.stdout.StdOutImpl 預設的 控制檯輸出 其他的得匯入相應的配置 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
輸出日誌
配置好日誌後就可以以後學習或者做專案的時候檢視自動生成的SQL了,你會愛上他的!
CRUD擴充套件
插入操作
//測試插入 @Test public void InsertUser(){ SysUser sysUser = new SysUser(); sysUser.setUsername("admin6"); sysUser.setPassword("123456"); sysUser.setPhone(123456); sysUser.setEmail("[email protected]"); int result = userMapper.insert(sysUser);//幫我們自動生成的id System.out.println(result);//受影響的行數 System.out.println(sysUser);//發現id會自動回填 }
資料庫插入的 id 預設值為:全域性的唯一id!
主鍵生成策略
預設@TableId(type = IdType.ID_WORKER) 全域性唯一id
分散式系統唯一id生成方案彙總連結:https://www.cnblogs.com/haoxinyue/p/5208136.html
雪花演算法:
snowflake是Twitter開源的分散式ID生成演算法,結果是一個long型的ID。其核心思想是:使用41bit作為毫秒數,10bit作為機器的ID(5個bit是資料中心,5個bit的機器ID),12bit作為毫秒內的流水號(意味著每個節點在每毫秒可以產生 4096 個 ID),最後還有一個符號位,永遠是0。可以保證幾乎全球唯一!
主鍵自增
需要配置主鍵自增:
1.實體類欄位 @TableId(type = IdType.AOUT)
2.資料庫欄位自增
3.再次測試插入即可!
其餘原始碼解釋
public enum IdType { AUTO(0), // 資料庫id自增 NONE(1), // 未設定主鍵 INPUT(2), // 手動設定 ID_WORKER(3), // 預設的全域性唯一id UUID(4), // 全域性唯一id UUID ID_WORKER_STR(5); // ID_WORKER 字串表示法 }
一旦使用 @TableId(type = IdType.INPUT)