From ecb8876a294343fa570230d5282110b10d484ba2 Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Tue, 24 Jun 2025 08:30:20 +0000 Subject: [PATCH] Update README.md --- README.md | 129 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 109 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 2bd88213..6ec327c1 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,127 @@ -

mpe-logo

+```text +# MPE(MyBatis Plus Extensions) -

借用MybatisPlus的口号:为简化开发工作、提高生产率而生

+[![Gitee Star](https://gitee.com/assets/star.svg)](https://gitee.com/link) +[![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://mit-license.org) -

-img -img -

+MyBatis Plus Extensions(简称 MPE)是一组 MyBatis Plus 的增强插件,旨在简化数据库操作、自动填充字段、动态条件查询、表结构自动生成等功能,提升开发效率并减少重复代码。 +## 模块说明 +- **mybatis-plus-ext-autofill**: 字段自动填充插件,支持插入、更新操作时自动填充时间、默认值等。 +- **mybatis-plus-ext-autotable**: 自动创建和维护数据库表结构,支持多数据库类型(MySQL、PostgreSQL、SQLite等)。 +- **mybatis-plus-ext-bind**: 支持实体关联绑定,自动将查询结果与关联实体绑定。 +- **mybatis-plus-ext-condition**: 动态条件查询插件,支持在查询时自动添加条件。 +- **mybatis-plus-ext-dict**: 字典绑定插件,自动填充字段对应的字典值。 +- **mybatis-plus-ext-processor**: 注解处理器模块,支持自动构建 Mapper、Repository � - **mybatis-plus-ext-spring-boot-starter**: Spring Boot 自动配置启动模块。 +- **mybatis-plus-ext-spring-boot3-starter**: 适用于 Spring Boot 3.x 的自动配置模块。 -       尽管[MybatisPlus](https://gitee.com/baomidou/mybatis-plus) -(后文简称MP)相比较Mybatis丝滑了很多,但是,日常使用中,是否偶尔仍会怀念JPA(Hibernate)的那种纵享丝滑的感受,更好的一心投入业务开发中,如果你也是如此,那么恭喜你发现了MybatisPlusExt(后文简称MPE)。 +## 快速开始 -       MPE对MP做了进一步的拓展封装,即保留MP原功能,又添加更多有用便捷的功能。同样坚持与MP对Mybatis的原则,只做增强不做改变。 +### 1. 添加依赖 -       增强功能具体体现在几个方面:代码(字段字符串、Mapper、Repository/Service)预生成、自动建表(auto-table)、数据自动填充(类似JPA中的审计)、关联查询(类似sql中的join)、冗余数据自动更新、动态条件等功能做了补充完善。 +使用 Maven 添加依赖(以 Spring Boot Starter 为例): -       如果感觉本框架对您有所帮助,烦请去[Gitee](https://gitee.com/dromara/mybatis-plus-ext)、[GitCode](https://gitcode.com/dromara/mybatis-plus-ext) -给个小星星⭐️,欢迎来撩共同进步。 +```xml + + org.dromara.mpe + mybatis-plus-ext-spring-boot-starter + x.x.x + +``` -

img

+### 2. 使用注解自动填充字段 -## 关联推荐 +```java +public class User { + + @InsertFillTime + private String createTime; -AutoTable + @UpdateFillTime + private String updateTime; -## 官方教程 + @InsertFillData(UserNameAutoFillHandler.class) + private String createUser; -Mybatis-Plus-Ext教程 + @UpdateFillData(UserIdAutoFillHandler.class) + private String updateUser; +} +``` -## 特别感谢 +### 3. 自动维护表结构 -> 感谢JetBrains提供的软件支持 +```java +@Table(comment = "用户表") +public class User { + + @ColumnId(mode = IdType.AUTO) + private String id; -JetBrains Logo (Main) logo. + @Column(comment = "用户名") + private String username; + + @Column(comment = "邮箱") + private String email; +} +``` + +### 4. 实体关联绑定 + +```java +public class Article { + + @BindEntity(selectFields = {"id", "name"}) + private User author; + + @BindField(entity = User.class, field = "name") + private String authorName; +} +``` + +### 5. 动态查询条件 + +```java +public class User { + + @DynamicCondition(FilterByCurrentUser.class) + private Integer submitter; +} +``` + +### 6. 字典绑定 + +```java +@Dict(SysDict.class) +public class User { + + @Dict(SysDict.class) + private String sexVal; +} +``` + +## 示例项目 + +- **mybatis-plus-ext-demo-autofill**: 自动填充字段使用示例。 +- **mybatis-plus-ext-demo-autotable**: 自动建表功能示例。 +- **mybatis-plus-ext-demo-bind**: 实体绑定与字段绑定示例。 +- **mybatis-plus-ext-demo-condition**: 动态条件查询使用示例。 +- **mybatis-plus-ext-demo-dict**: 字典绑定示例。 +- **mybatis-plus-ext-demo-datasource**: 多数据源支持示例。 + +## 文档 + +- [官方文档](https://docs.mybatis-plus-ext.org) + +## 贡献 + +欢迎提交 PR 或 Issues: +- Gitee: [https://gitee.com/dromara/mybatis-plus-ext](https://gitee.com/dromara/mybatis-plus-ext) + +## 许可证 + +MPE 采用 [MIT License](https://mit-license.org/) 开源协议。 + +``` \ No newline at end of file -- Gitee