MP高级功能-作用概述

1. 逻辑删除:

通过一个字段(删除标识)来标识数据是否被删除,就是假删除的功能。

2. 自动填充:

新增、修改等操作时,自动补充创建人、创建时间、修改人、修改时间、版本号、删除标识等字段信息。

3. 乐观锁插件 —— OptimisticLockerInterceptor:
  • 当你在更新一条记录时,在这段时间内,希望这条记录没有被更新过,解决更新冲突问题;
  • 一种实现方式:取出记录时,获取当前version ——》更新时,带上这个version ——》版本正确更新成功,错误更新失败。
4. 性能分析插件 —— PerformanceInterceptor:
  • 用来输出每条sql语句和执行时间。(不建议生成环境使用,有性能损耗。)
  • p6spy:如果对sql打印要求比较高,可以使用第三方扩展的执行sql打印功能;依赖 p6spy 组件可以完美输出打印sql及执行时长。
5. 多租户SQL解析器
  • 多租户技术概念:是一种软件架构技术,是实现如何在多用户(多指企业用户)环境下,共用相同的系统或者程序,并且可确保各用户下数据的隔离性。
  • 三种隔离方案:
    ①独立数据库,一个租户一个数据库;隔离级别最高。
    ②共享数据库,隔离数据架构;即多个或所有租户共享Database,但一个Tenant(租户)一个Schema(模式)。
    ③共享数据库,共享数据架构;租户共享同一个Database、同一个Schema,但在表中通过TenantID区分租户的数据。这是共享程度最高、隔离级别最低的模式。
  • 关键类:
    分页插件:PaginationInterceptor(依赖于分页插件)
    租户SQL解析器接口:ISqlParser
    租户SQL解析器:TenantSqlParser
    租户处理器:TenantHandler
6. 动态表
7. SQL注入器
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Mybatis-Plus(MP)在 MyBatis 的基础上只做增强不做改变,简化开发、提高效率。 本篇是根据My...
    h2coder阅读 11,683评论 4 41
  • 一、MySQL架构与历史 A.并发控制 1.共享锁(shared lock,读锁):共享的,相互不阻塞的。 2.排...
    阿休阅读 4,697评论 0 37
  • 逻辑删除自动填充乐观锁插件性能分析插件多租户SQL解析器动态表名SQL解析器SQL注入器
    半缘修道随笔阅读 213评论 0 0
  • NoSQL 根本性的优势在于在云计算时代,简单、易于大规模分布式扩展,并且读写性能非常高 关系型数据库NoSQL ...
    Q南南南Q阅读 552评论 0 7
  • 三、高级开发技术面试题 这里讲的是大公司需要用到的一些高端Android技术,这里专门整理了一个文档,希望大家都可...
    上善若水0819阅读 26,344评论 0 47