Mybatis-Plus

MyBatis-Plus知識點

MyBatis-Plus(簡稱 MP)

1:官網(wǎng):http://mp.baomidou.com/

參考教程:http://mp.baomidou.com/guide/

使用MyBatis-Plus出爹,需要在pom文件中引入插件:

注意:引入?MyBatis-Plus?之后請不要再次引入?MyBatis?以及?MyBatis-Spring爷怀,以避免因版本差異導致的問題诱建。

?----------------------------功能:CRUD 接口

一:分布式id主鍵生成策略:

如何修改主鍵生成策略?

? ? ? ? ? ? 在實體類上的id字段添加一個注解@TableId(type = IdType.AUTO)鞭缭,然后idType.后邊有很多的選擇。

1):ID_WORKER

MyBatis-Plus默認的主鍵策略是:ID_WORKER ?全局唯一ID

2):自增策略

? ? ? ? ? ? 實現(xiàn):1)需要在創(chuàng)建數(shù)據(jù)表的時候設(shè)置主鍵自增

????????????????????????2)實體字段中配置 @TableId(type = IdType.AUTO)

3):input策略

? ? ? ? 數(shù)據(jù)庫優(yōu)化策略魏颓,其中之一:縱向表拆分岭辣,例如input:

一張表,由若干個字段甸饱,其中有一個字段內(nèi)容特別長沦童,就可以單獨把這個字段提取出來成一張表,這個表的id就是主表的id

2:update

3:自動填充

例如:數(shù)據(jù)庫中有這樣兩種字段:createTime和updateTime

? ? ? ? 3.1:數(shù)據(jù)庫層面解決方案:

? ? ? ? ? ? ? ? ? ? 在創(chuàng)建好的字段添加默認值叹话,createTime:Curent_Time_stamp

? ? ? ? ? ? ? ? ? ? ? ? updateTime:Curent_Time_stamp,然后勾選中更新框

? ? ? ? 3.2:業(yè)務(wù)層面解決方案

第一步:

????????????????在實體類上添加注解:? ? @TableField(fill = FieldFill.INSERT)? ? ? ? ? ? ? ? ?:添加的時候自動填充

? ?? @TableField(fill = FieldFill.INSERT_UPDATE):添加和更新的時候自動填充

第二步:添加一個元器件處理器

創(chuàng)建一個handler包搞动,然后創(chuàng)建一個MyMetaObjectHandler,實現(xiàn) MetaObjectHandler接口

? 記自ⅰ:根據(jù)系統(tǒng)決定你要采用哪種方案鹦肿,主要就是看你是否要切換數(shù)據(jù)源。

-----------------------

mybatis和mybatis_plus的區(qū)別:

1:數(shù)據(jù)庫中的 _ 分割辅柴,在實體類是 駝峰命名法箩溃,但是在向數(shù)據(jù)庫中添加更新的時候,mybatis_plus智能自動轉(zhuǎn)換碌嘀,而mybatis不能

-------------------------

4樂觀鎖:

實現(xiàn):

1):數(shù)據(jù)庫中添加version字段

2):實體類添加?@Version 注解

3):元對象處理器接口添加version的insert默認值

4):?MybatisPlusConfig 中注冊 Bean

? ? ? ? 樂觀鎖插件

----------------------select

1:查詢單個數(shù)據(jù):

userMapper.selectById(1L);

2:批量查詢

userMapper.selectBatchIds(Arrays.asList(1, 2, 3));

3:簡單的條件查詢

userMapper.selectByMap(map);

------------------------分頁

1):在配置類中添加插件

--------------------------------delete

1:刪除單條數(shù)據(jù)

userMapper.deleteById(8L);

2:批量刪除:

userMapper.deleteBatchIds(Arrays.asList(8, 9, 10));

3:簡單的條件查詢刪除

userMapper.deleteByMap(map);

4:邏輯刪除(最重要的)

物理刪除:真實刪除:將對應(yīng)數(shù)據(jù)從數(shù)據(jù)庫中刪除涣旨,之后查詢不到此條被刪除數(shù)據(jù)

邏輯刪除:假刪除,將對應(yīng)數(shù)據(jù)中代表是否被刪除字段狀態(tài)修改為“被刪除狀態(tài)”股冗,之后在數(shù)據(jù)庫中仍舊能看到此條數(shù)據(jù)記錄

1):數(shù)據(jù)庫中添加 "deleted",字段類型:tinyInt? 1:表示刪除霹陡,0表示邏輯刪除

2):實體類添加deleted字段

并加上 @TableLogic 注解 和 @TableField(fill = FieldFill.INSERT) 注解

3):元對象處理器接口添加deleted的insert默認值

4):application.properties 加入配置

此為默認值,如果你的默認值和mp默認的一樣,該配置可無

5):在配置類中添加插件

6):測試

--------------------------------------------性能分析

性能分析攔截器止状,用于輸出每條 SQL 語句及其執(zhí)行時間

SQL 性能執(zhí)行分析,開發(fā)環(huán)境使用烹棉,超過指定時間,停止運行怯疤。有助于發(fā)現(xiàn)問題

1):配置插件

參數(shù):maxTime: SQL 執(zhí)行最大時長浆洗,超過自動停止運行,有助于發(fā)現(xiàn)問題集峦。

參數(shù):format: SQL是否格式化伏社,默認false抠刺。

2)在 MybatisPlusConfig 中配置

3)Spring Boot 中設(shè)置dev環(huán)境

=======================04條件構(gòu)造器

如果想進行復雜條件查詢,那么需要使用條件構(gòu)造器 Wapper摘昌,涉及到如下方法

1速妖、delete

2、selectOne

3聪黎、selectCount

4罕容、selectList

5、selectMaps

6挺举、selectObjs

7杀赢、update

查資料自己練習。

=======================================

一些常用的方法:

https://www.it610.com/article/1287685735930966016.htm

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末湘纵,一起剝皮案震驚了整個濱河市脂崔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌梧喷,老刑警劉巖砌左,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異铺敌,居然都是意外死亡汇歹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門偿凭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來产弹,“玉大人,你說我怎么就攤上這事弯囊√瞪冢” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵匾嘱,是天一觀的道長斤斧。 經(jīng)常有香客問我,道長霎烙,這世上最難降的妖魔是什么撬讽? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮悬垃,結(jié)果婚禮上游昼,老公的妹妹穿的比我還像新娘。我一直安慰自己盗忱,他們只是感情好酱床,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著趟佃,像睡著了一般扇谣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闲昭,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天罐寨,我揣著相機與錄音,去河邊找鬼序矩。 笑死鸯绿,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的簸淀。 我是一名探鬼主播瓶蝴,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼租幕!你這毒婦竟也來了舷手?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤劲绪,失蹤者是張志新(化名)和其女友劉穎男窟,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贾富,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡歉眷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了颤枪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片汗捡。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖畏纲,靈堂內(nèi)的尸體忽然破棺而出扇住,到底是詐尸還是另有隱情,我是刑警寧澤霍骄,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布台囱,位于F島的核電站,受9級特大地震影響读整,放射性物質(zhì)發(fā)生泄漏簿训。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一米间、第九天 我趴在偏房一處隱蔽的房頂上張望强品。 院中可真熱鬧,春花似錦屈糊、人聲如沸的榛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夫晌。三九已至雕薪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晓淀,已是汗流浹背所袁。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凶掰,地道東北人燥爷。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像懦窘,于是被迫代替她去往敵國和親前翎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354