# mybatis-plus-study **Repository Path**: leiguoqing/mybatis-plus-study ## Basic Information - **Project Name**: mybatis-plus-study - **Description**: MyBatis-Plus搭建及测试 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-07-31 - **Last Updated**: 2023-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README MyBatisPlus学习案例 版本 3.4.1 主要学习以下功能 - jackson 枚举类型序列化与反序列化 - 通用枚举使用 - 字段类型处理器 - 逻辑删除 - 自动填充(实体基类) - 插入时 - 创建人 - 创建时间 - 修改人 - 修改时间 - 版本号 - 逻辑删除 - 注意:数据库是int类型,实体是boolean类型,数据库是is_deleted,实体是deleted - 修改时 - 修改人 - 修改时间 - 执行 SQL 分析打印 - 分页插件 - 乐观锁插件 - 防止全表更新与删除插件 - 雪花算法主键 - 使用 Wrapper 自定义SQL(多表分页查询) > 需要注意:
> 不支持 Wrapper 内的entity生成where语句, select查询条件也不生效,只是where条件生效,逻辑删除也需要自己加上 - SQL注入器(MySQL批量插入,MP的批量插入是循环处理的) 启用MP官方选装件 - InsertBatchSomeColumn - 批量新增数据,自选字段 insert, 只适用 MySQL - LogicDeleteByIdWithFill - 根据id进行逻辑删除数据,并带自动填充功能 使用场景:当进行逻辑删除时,有些字段也要跟着更改(注销用户积分清零) - AlwaysUpdateSomeColumnById - 根据Id更新固定的某些字段,更新时可以设置哪些字段需要更新,哪些字段不需要更新;如果设置需要更新的字段没有设置值,更新为null。 - 定义全方位entity基类,适用不用场景 - BaseEntity - id - CreateEntity - id - createdBy - createdTime - UpdateEntity - id - createdBy - createdTime - updatedBy - updatedTime - UpdateWithVersionEntity - id - createdBy - createdTime - updatedBy - updatedTime - version - DeleteAndCreateEntity - id - createdBy - createdTime - deleted - DeleteAndUpdateEntity - id - createdBy - createdTime - updatedBy - updatedTime - deleted - DeleteAndUpdateWithVersionEntity - id - createdBy - createdTime - updatedBy - updatedTime - version - deleted 参考: - [MP官网](https://baomidou.com/guide/) - [如何在springboot中优雅的使用枚举](https://www.yuque.com/docs/share/5ce34870-6dd4-477e-9fa1-7bab7a2a73ad?#)