02_Mybatis-Plus进阶

1.ActiveRecord

图片.png

1.1.入门

图片.png

虽然测试用例没有注入mapper,但是mapper还是需要写的,因为ar底层会调用mapper

1.2.新增数据

图片.png

1.3.更新数据

图片.png

1.4.删除数据

图片.png

1.5.根据条件查询数据

图片.png

2.Oracle主键Sequence

2.1.oracle环境搭建

#拉取镜像 
docker pull sath89/oracle-12c
#创建容器 
docker create --name oracle -p 1521:1521 sath89/oracle-12c
#启动 
docker start oracle && docker logs -f oracle

#通过用户名密码即可登录 用户名和密码为: system/oracle

2.2.创建表以及序列

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 
)

-- 创建序列 
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.代码实现

图片.png
图片.png
图片.png

3.MyBatis-Plus的插件

3.1.插件机制

图片.png
图片.png
图片.png

plugin方法执行四次,要对四个(Executor...)接口进行包装

3.2.执行分析插件

图片.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

更新的时候,更新字段有version,会自增,where条件会有version。只有where条件匹配上才会更新。
图片.png

4.Sql注入器实现自定义全局操作

图片.png
图片.png
图片.png

MySqlInjector需要继承DefaultSqlInjector,确保自带的crud方法可以用
图片.png
图片.png

FindAll参考SelectById写
图片.png

5.自动填充功能

图片.png
图片.png
图片.png

6.逻辑删除

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

图片.png
图片.png

执行删除实际是更新状态,查询自动过滤状态

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快速开发插件

图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容