【黑马程序员】SSM框架——MyBatisPlus

文章目录

  • 前言
  • 一、MyBatisPlus 简介
    • 1. 入门案例
      • 1.1 创建新模块
      • 1.2 选择需要的技术集
      • 1.3 添加 mp 起步依赖
      • 1.4 设置 Jdbc 参数
      • 1.5 实体类与表结构
      • 1.6 定义数据接口
      • 1.7 测试功能
    • 2. MyBatisPlus 概述
    • 3. MyBatisPlus 特性
  • 二、标准数据层开发
    • 1. 标准数据层 CRUD 功能
      • 1.1 Lombok
      • 1.2 常用注解
        • @Data
    • 2. 分页功能
      • 2.1 MP 分页查询功能
        • ① 设置分页拦截器
        • ② 执行分页查询
      • 2.2 开启 MyBatisPlus 日志
  • 三、DQL 控制
    • 1. 条件查询方式
      • 1.1 条件查询
      • 1.2 条件添加方式
        • 1.2.1 常规格式
          • ① 常规格式
          • ② 链式格式
        • 1.2.2 lambda 格式
          • ① lambda 格式
          • ② lambda 格式
      • 1.3 组合查询条件
        • 1.3.1 并且(and)
        • 1.3.2 或者(or)
      • 1.4 null 值处理
        • 1.4.1 if 语句控制条件追加
        • 1.4.2 条件参数控制
          • ① 常规格式
          • ② 链式格式
    • 2. 查询投影
    • 3. 查询条件设置
      • 3.1 eq 匹配
      • 3.2 范围匹配
      • 3.3 like 匹配
      • 3.4 分组查询聚合函数
    • 4. 字段映射与表名映射
      • 4.1 常见注解
        • @TableField
        • @TableName
  • 四、DML 控制
    • 1. id 自增策略控制(Insert)
      • 1.1 id 生成策略控制
        • 1.1.1 常见注解
          • @ TableId
      • 1.2 全局设置
        • 1.2.1 id 生成策略全局配置
        • 1.2.2 表名前缀全局配置
    • 2. 多数据操作(Delete、Select)
    • 3. 逻辑删除(Delete / Update)
      • 3.1 逻辑删除开发步骤
        • ① 添加逻辑删除标记字段
        • ② 实体类中添加对应字段
        • ③ 配置逻辑删除字面值
    • 4. 乐观锁(Update)
      • 4.1 乐观锁开发步骤
        • ① 添加锁标记字段
        • ② 实体类添加对应字段
        • ③ 配置乐观锁拦截器
        • ④ 使用乐观锁机制
  • 五、快速开发
    • ① 导入坐标
    • ② 核心代码
    • ③ 数据源指定
    • ④ 全局配置指定
    • ⑤ 包相关配置
    • ⑥ 策略配置
  • 总结


前言

跟着B站的黑马程序员学习SSM框架,语言为java,目前是第三个学习内容
课程传送门:SSM框架——MyBatisPlus


一、MyBatisPlus 简介

1. 入门案例

1.1 创建新模块

【黑马程序员】SSM框架——MyBatisPlus_第1张图片

1.2 选择需要的技术集

【黑马程序员】SSM框架——MyBatisPlus_第2张图片

1.3 添加 mp 起步依赖

【黑马程序员】SSM框架——MyBatisPlus_第3张图片

1.4 设置 Jdbc 参数

【黑马程序员】SSM框架——MyBatisPlus_第4张图片

1.5 实体类与表结构

【黑马程序员】SSM框架——MyBatisPlus_第5张图片

1.6 定义数据接口

【黑马程序员】SSM框架——MyBatisPlus_第6张图片

1.7 测试功能

【黑马程序员】SSM框架——MyBatisPlus_第7张图片

2. MyBatisPlus 概述

  • MyBatisPlus(简称 MP)是基于 MyBatis 框架基础上开发的增强型工具,旨在简化开发、提高效率
  • 官网:点击前往

3. MyBatisPlus 特性

  • 无侵入:只做增强不做改变,不会对现有工程产生影响
  • 强大的 CRUD 操作:内置通用 Mapper,少量配置即可实现单表操作 CRUD 操作
  • 支持 Lambda:编写查询条件无需担心字段写错
  • 支持主键自动生成
  • 内置分页插件

二、标准数据层开发

1. 标准数据层 CRUD 功能

【黑马程序员】SSM框架——MyBatisPlus_第8张图片

1.1 Lombok

【黑马程序员】SSM框架——MyBatisPlus_第9张图片

1.2 常用注解

@Data

【黑马程序员】SSM框架——MyBatisPlus_第10张图片

2. 分页功能

【黑马程序员】SSM框架——MyBatisPlus_第11张图片

2.1 MP 分页查询功能

① 设置分页拦截器

【黑马程序员】SSM框架——MyBatisPlus_第12张图片

② 执行分页查询

【黑马程序员】SSM框架——MyBatisPlus_第13张图片

2.2 开启 MyBatisPlus 日志

在这里插入图片描述

三、DQL 控制

1. 条件查询方式

1.1 条件查询

【黑马程序员】SSM框架——MyBatisPlus_第14张图片

1.2 条件添加方式

1.2.1 常规格式
① 常规格式

【黑马程序员】SSM框架——MyBatisPlus_第15张图片

② 链式格式

【黑马程序员】SSM框架——MyBatisPlus_第16张图片

1.2.2 lambda 格式
① lambda 格式

【黑马程序员】SSM框架——MyBatisPlus_第17张图片

② lambda 格式

【黑马程序员】SSM框架——MyBatisPlus_第18张图片

1.3 组合查询条件

1.3.1 并且(and)

【黑马程序员】SSM框架——MyBatisPlus_第19张图片

1.3.2 或者(or)

【黑马程序员】SSM框架——MyBatisPlus_第20张图片

1.4 null 值处理

1.4.1 if 语句控制条件追加

【黑马程序员】SSM框架——MyBatisPlus_第21张图片

1.4.2 条件参数控制
① 常规格式

【黑马程序员】SSM框架——MyBatisPlus_第22张图片

② 链式格式

【黑马程序员】SSM框架——MyBatisPlus_第23张图片

2. 查询投影

【黑马程序员】SSM框架——MyBatisPlus_第24张图片

3. 查询条件设置

传送门:点击前往

3.1 eq 匹配

【黑马程序员】SSM框架——MyBatisPlus_第25张图片

3.2 范围匹配

【黑马程序员】SSM框架——MyBatisPlus_第26张图片

3.3 like 匹配

【黑马程序员】SSM框架——MyBatisPlus_第27张图片

3.4 分组查询聚合函数

【黑马程序员】SSM框架——MyBatisPlus_第28张图片

4. 字段映射与表名映射

  • 问题一:表字段与编码属性设计不同步
    【黑马程序员】SSM框架——MyBatisPlus_第29张图片
    注解的使用:
    【黑马程序员】SSM框架——MyBatisPlus_第30张图片

  • 问题二:编码中添加了数据库中未定义的属性
    【黑马程序员】SSM框架——MyBatisPlus_第31张图片注解的使用:
    【黑马程序员】SSM框架——MyBatisPlus_第32张图片

  • 问题三:采用默认查询开放了更多的字段查看权限
    【黑马程序员】SSM框架——MyBatisPlus_第33张图片注解的使用:
    【黑马程序员】SSM框架——MyBatisPlus_第34张图片

  • 问题四:表名与编码开发设计不同步
    【黑马程序员】SSM框架——MyBatisPlus_第35张图片注解的使用:
    【黑马程序员】SSM框架——MyBatisPlus_第36张图片

4.1 常见注解

@TableField

【黑马程序员】SSM框架——MyBatisPlus_第37张图片

@TableName

【黑马程序员】SSM框架——MyBatisPlus_第38张图片

四、DML 控制

1. id 自增策略控制(Insert)

1.1 id 生成策略控制

  • 不同的表应用不同的 id 生成策略:
    ① 日志:自增(1,2,3,4,…)
    ② 购物订单:特殊规则(FQ23948AK3843)
    ③ 外卖单:关联地区日期等信息(10 04 20200314 34 91)
    ④ 关系表:可省略 id
    ⑤ …

【黑马程序员】SSM框架——MyBatisPlus_第39张图片

1.1.1 常见注解
@ TableId

【黑马程序员】SSM框架——MyBatisPlus_第40张图片

1.2 全局设置

1.2.1 id 生成策略全局配置

【黑马程序员】SSM框架——MyBatisPlus_第41张图片

1.2.2 表名前缀全局配置

【黑马程序员】SSM框架——MyBatisPlus_第42张图片

2. 多数据操作(Delete、Select)

【黑马程序员】SSM框架——MyBatisPlus_第43张图片

3. 逻辑删除(Delete / Update)

【黑马程序员】SSM框架——MyBatisPlus_第44张图片

3.1 逻辑删除开发步骤

① 添加逻辑删除标记字段

【黑马程序员】SSM框架——MyBatisPlus_第45张图片

② 实体类中添加对应字段

【黑马程序员】SSM框架——MyBatisPlus_第46张图片

③ 配置逻辑删除字面值

【黑马程序员】SSM框架——MyBatisPlus_第47张图片

4. 乐观锁(Update)

4.1 乐观锁开发步骤

① 添加锁标记字段

【黑马程序员】SSM框架——MyBatisPlus_第48张图片

② 实体类添加对应字段

【黑马程序员】SSM框架——MyBatisPlus_第49张图片

③ 配置乐观锁拦截器

【黑马程序员】SSM框架——MyBatisPlus_第50张图片

④ 使用乐观锁机制

【黑马程序员】SSM框架——MyBatisPlus_第51张图片

五、快速开发

① 导入坐标

【黑马程序员】SSM框架——MyBatisPlus_第52张图片

② 核心代码

在这里插入图片描述

③ 数据源指定

【黑马程序员】SSM框架——MyBatisPlus_第53张图片

④ 全局配置指定

【黑马程序员】SSM框架——MyBatisPlus_第54张图片

⑤ 包相关配置

【黑马程序员】SSM框架——MyBatisPlus_第55张图片

⑥ 策略配置

【黑马程序员】SSM框架——MyBatisPlus_第56张图片


总结

以上就是本章要讲的内容,本文仅仅简单复述了老师讲课的文本内容,内容有误麻烦联系。

你可能感兴趣的:(SSM框架,java)