02_Mybatis-Plus進(jìn)階

1.ActiveRecord

圖片.png

1.1.入門

圖片.png

雖然測(cè)試用例沒有注入mapper,但是mapper還是需要寫的,因?yàn)閍r底層會(huì)調(diào)用mapper

1.2.新增數(shù)據(jù)

圖片.png

1.3.更新數(shù)據(jù)

圖片.png

1.4.刪除數(shù)據(jù)

圖片.png

1.5.根據(jù)條件查詢數(shù)據(jù)

圖片.png

2.Oracle主鍵Sequence

2.1.oracle環(huán)境搭建

#拉取鏡像 
docker pull sath89/oracle-12c
#創(chuàng)建容器 
docker create --name oracle -p 1521:1521 sath89/oracle-12c
#啟動(dòng) 
docker start oracle && docker logs -f oracle

#通過用戶名密碼即可登錄 用戶名和密碼為: system/oracle

2.2.創(chuàng)建表以及序列

CREATE TABLE "TB_USER"(
"ID" NUMBER(20) VISIBLE NOT NULL,
"USER_NAME" VARCHAR2(255 BYTE) VISIBLE,
"PASSWORD" VARCHAR2(255 BYTE) VISIBLE,
"NAME" VARCHAR2(255 BYTE) VISIBLE,
"AGE" NUMBER(10) VISIBLE,
"EMAIL" VARCHAR2(255 BYTE) VISIBLE 
)

-- 創(chuàng)建序列 
CREATE SEQUENCE SEQ_USER START WITH 1 INCREMENT BY 1

#ojdbc8.jar文件在資料中可以找到
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.1.0.1 -Dpackaging=jar -Dfile=F:\ojdbc8.jar
圖片.png
<dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc8</artifactId>
            <version>12.1.0.1</version>
        </dependency>

2.3.代碼實(shí)現(xiàn)

圖片.png
圖片.png
圖片.png

3.MyBatis-Plus的插件

3.1.插件機(jī)制

圖片.png
圖片.png
圖片.png

plugin方法執(zhí)行四次,要對(duì)四個(gè)(Executor...)接口進(jìn)行包裝

3.2.執(zhí)行分析插件

圖片.png
圖片.png

3.3.性能分析插件

圖片.png
圖片.png

3.4.樂觀鎖插件

圖片.png
圖片.png
圖片.png
ALTER TABLE `tb_user` ADD COLUMN `version` INT(10) NULL AFTER `email`;
UPDATE `tb_user` SET `version`='1';
圖片.png

更新的時(shí)候,更新字段有version,會(huì)自增,where條件會(huì)有version。只有where條件匹配上才會(huì)更新。
圖片.png

4.Sql注入器實(shí)現(xiàn)自定義全局操作

圖片.png
圖片.png
圖片.png

MySqlInjector需要繼承DefaultSqlInjector,確保自帶的crud方法可以用
圖片.png
圖片.png

FindAll參考SelectById寫
圖片.png

5.自動(dòng)填充功能

圖片.png
圖片.png
圖片.png

6.邏輯刪除

圖片.png
ALTER TABLE `tb_user` ADD COLUMN `deleted` INT(1) NULL DEFAULT 0 COMMENT '1代表刪除,0代表未刪除' AFTER `version`;

圖片.png
圖片.png

執(zhí)行刪除實(shí)際是更新狀態(tài),查詢自動(dòng)過濾狀態(tài)

7.通用枚舉

ALTER TABLE `tb_user` ADD COLUMN `sex` INT(1) NULL DEFAULT 1 COMMENT '1-男,2-女' AFTER `deleted`;
圖片.png
圖片.png
圖片.png
圖片.png
圖片.png

8.代碼生成器

圖片.png
圖片.png
圖片.png

9.MyBatisX快速開發(fā)插件

圖片.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容