SSM—【笔记】【完结】1.5 MyBatisPlus

用MyBatisPlus完成标准Dao开发

一、MyBatisPlus简介

SSM—【笔记】【完结】1.5 MyBatisPlus_第1张图片

1、开发步骤:

核心为第 6

SSM—【笔记】【完结】1.5 MyBatisPlus_第2张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第3张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第4张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第5张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第6张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第7张图片

二、标准数据层开发

1、标准数据层CRUD功能

MP接口

换了个名的方法(接口)
SSM—【笔记】【完结】1.5 MyBatisPlus_第8张图片

Lombok

一个好用的小工具(依赖):提供一组注解 [ 能完成getting、setting、toString、有参无参构造方法等操作 ]
SSM—【笔记】【完结】1.5 MyBatisPlus_第9张图片

2、MP分页查询功能

MP准备了分页拦截器,配了就有分页功能

步骤:
SSM—【笔记】【完结】1.5 MyBatisPlus_第10张图片

开启MP日志:
调程序用的,一般默认开启
SSM—【笔记】【完结】1.5 MyBatisPlus_第11张图片

三、DQL控制

(DQL:对表中数据库进行查询)

1、条件查询方式

(1)条件查询三种方式

SSM—【笔记】【完结】1.5 MyBatisPlus_第12张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第13张图片

(2)组合查询条件

SSM—【笔记】【完结】1.5 MyBatisPlus_第14张图片

(3)条件查询的null值处理

SSM—【笔记】【完结】1.5 MyBatisPlus_第15张图片

2、查询投影

查询投影:设置查询出的结果

投影:就是从一个表中选择若干属性列组成一个新的关系

SSM—【笔记】【完结】1.5 MyBatisPlus_第16张图片

3、查询条件设定

SSM—【笔记】【完结】1.5 MyBatisPlus_第17张图片

eg:查询条件(方法)
SSM—【笔记】【完结】1.5 MyBatisPlus_第18张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第19张图片

查询API:更多查询条件设置参看https://mybatis.plus/guide/wrapper.html#abstractwrapper

4、字段映射与表名映射

问题一: 表字段与编码属性设计不同步

解决方案:属性注解—value属性
SSM—【笔记】【完结】1.5 MyBatisPlus_第20张图片

问题二: 编码中添加了数据库中未定义的属性

解决方案:属性注解—exist属性
SSM—【笔记】【完结】1.5 MyBatisPlus_第21张图片

问题三:采用默认查询开放了更多的字段查看权限

解决方案:属性注解—select属性
SSM—【笔记】【完结】1.5 MyBatisPlus_第22张图片

问题四:表名与编码开发设计不同步

解决方案:类注解

SSM—【笔记】【完结】1.5 MyBatisPlus_第23张图片

四、DML控制

(DML:对表中的数据增删改)

1、id生成策略

SSM—【笔记】【完结】1.5 MyBatisPlus_第24张图片

2、多数据操作(删除与查询)

SSM—【笔记】【完结】1.5 MyBatisPlus_第25张图片

3、逻辑删除

数据库增加字段来标记是否删除,而不是直接删除数据

数据库加自动、实体类加字段、关系绑定
SSM—【笔记】【完结】1.5 MyBatisPlus_第26张图片

开了逻辑删除功能后,原来执行删除语句变成了更新语句

SSM—【笔记】【完结】1.5 MyBatisPlus_第27张图片

4、乐观锁

概念:乐观锁和悲观锁是并发控制的两种不同策略。

​ 乐观锁是指在操作数据时,先不加锁,而是在提交更新时,判断数据是否被其他线程修改过。如果没有被修改过,则更新成功;如果被修改过,则更新失败,需要重试或者回滚操作。乐观锁适用于多读少写的场景,可以提高并发性能。
​ 悲观锁是指在操作数据时,先加锁,确保其他线程不能同时修改同一份数据。悲观锁适用于多写少读的场景,可以保证数据的一致性,但会降低并发性能。

实现:

表加字段、实体类配上字段、MP加拦截器(动态追加SQL语句)

SSM—【笔记】【完结】1.5 MyBatisPlus_第28张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第29张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第30张图片

五、快速开发

代码生成器

其实就是预设的模版+自己配置、参数
SSM—【笔记】【完结】1.5 MyBatisPlus_第31张图片

核心操作:main方法中创建代码生成器对象,执行代码生成器。

实现步骤:

1、导坐标
SSM—【笔记】【完结】1.5 MyBatisPlus_第32张图片

2、核心代码:创建代码生成器,执行代码生成器。
SSM—【笔记】【完结】1.5 MyBatisPlus_第33张图片

3、数据源的指定

SSM—【笔记】【完结】1.5 MyBatisPlus_第34张图片

4、配置(全局配置、包相关配置、策略配置)

源码查对应说明即可

SSM—【笔记】【完结】1.5 MyBatisPlus_第35张图片SSM—【笔记】【完结】1.5 MyBatisPlus_第36张图片

你可能感兴趣的:(笔记,框架,#,数据库,java,mybatis)