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