码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MyBatis-Plus


    目录

    • 一、概念
    • 二、常用注解
    • 三、雪花算法/数据库表拆分
      • 1、主键
      • 2、垂直拆分
      • 3、水平拆分
    • 四、条件查询器
      • 1、QueryWapper
        • 1.1、wapper
        • 1.2、组装查询
        • 1.3、组装排序
        • 1.4、组装删除
        • 1.5、条件优先级
        • 1.6、设置查询字段
        • 1.7、组装select子句
      • 2、UpdateWapper
      • 3、动态组装条件
      • 4、LambdaQueryWapper
      • 5、LambadaUpdateWapper
    • 五、分页插件
      • 1、概念
      • 2、xml中书写
    • 六、乐观锁
    • 七、通用枚举
    • 八、代码生成
    • 九、MyBatis-x插件

    一、概念

    中文网:https://baomidou.com/
    开发环境准备:
    在这里插入图片描述

    二、常用注解

    实体类和表名对应
    1、实体类名字和数据库不一致,加@TableName处理
    2、数据库表名有统一前缀,比如t_user这类,全局配置即可
    3、主键不叫id,加@TableId注解处理
    4、主键非id,并且和实体类属性也不对应的时候@Tableld(value=数据库字段)处理
    5、plus框架的主键默认是通过雪花算法计算的序列化,并不是注解自增,要用TableId中的type来修改主键生成算法
    6、属性名和字段名不对应,用TableFiled来对应。
    7、delete_type 这种字段,加上@TableLogic,原生delete变成update语句并且更新为1,所有原生查询增加了delete_type=0的条件,非常ncie。

    单个注解:
    在这里插入图片描述
    实体类统一前缀:
    在这里插入图片描述
    主键非id的处理:
    在这里插入图片描述
    主键非id并且和实体类不对应的时候:
    在这里插入图片描述
    自增算法修改,默认雪花算法,截图改成自增:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    有的实体类里面有不是数据库的字段,这个exist=false就用来排除:
    在这里插入图片描述
    @TabkeLogic
    注意,所有delete原生的都是去update这个字段了,非常nice

    删除注解:
    在这里插入图片描述
    删除是真用原生delete删除,但是语句自动更新为1,真nice:
    在这里插入图片描述
    查询的时候,自动带上了这个,真nice:
    在这里插入图片描述

    三、雪花算法/数据库表拆分

    1、主键

    在这里插入图片描述

    2、垂直拆分

    在这里插入图片描述

    3、水平拆分

    在这里插入图片描述
    在这里插入图片描述
    雪花算法非常适合分布式
    在这里插入图片描述

    四、条件查询器

    1、QueryWapper

    1.1、wapper

    在这里插入图片描述

    1.2、组装查询

    在这里插入图片描述

    1.3、组装排序

    在这里插入图片描述

    1.4、组装删除

    在这里插入图片描述

    1.5、条件优先级

    默认都是and。or需要加一个or方法,之后的应该又回到and了;
    要单独and包裹一块条件,要用到lambda表达式,or同理,看后面截图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    1.6、设置查询字段

    只查这些字段:
    在这里插入图片描述

    1.7、组装select子句

    在这里插入图片描述
    在这里插入图片描述

    2、UpdateWapper

    不用写实体类
    在这里插入图片描述

    3、动态组装条件

    在这里插入图片描述
    在这里插入图片描述

    4、LambdaQueryWapper

    在这里插入图片描述

    5、LambadaUpdateWapper

    在这里插入图片描述

    五、分页插件

    1、概念

    在这里插入图片描述
    在这里插入图片描述

    2、xml中书写

    在这里插入图片描述
    xml中并没有分页的任何信息:
    在这里插入图片描述

    六、乐观锁

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    plus框架自动给实现了,very nice
    在这里插入图片描述

    七、通用枚举

    类上面加个注解Getter
    在这里插入图片描述

    八、代码生成

    在这里插入图片描述
    在这里插入图片描述
    坑:
    在这里插入图片描述
    在这里插入图片描述

    九、MyBatis-x插件

    在这里插入图片描述
    随意生成方法(坑,注意有个Free Mybatis Plug插件快捷键冲突,要把Free这个关闭掉,从此一个MybatisX插件搞定所有)
    在这里插入图片描述

  • 相关阅读:
    Node.js 是如何处理请求的
    Java8流示例
    ffmpeg知识点整理
    关于Java已死,看看国外开发者怎么说的
    uni-app获取地理位置
    【SpringBoot+MP】阿里云短信测试服务操作流程、用户手机验证码登录实现
    便利贴--45{uniapp 组件picker 的封装,对于数据的传输和处理 -- 基于之后会发布的from自定义封装}
    k8s Pod基础概念
    linux环境下查看程序为什么被kill
    第3章业务功能开发(线索关联市场活动,插入数据并查询)
  • 原文地址:https://blog.csdn.net/qq_36858491/article/details/133883477
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号