# mybatis-plus-ext
**Repository Path**: ccnothing/mybatis-plus-ext
## Basic Information
- **Project Name**: mybatis-plus-ext
- **Description**: mybatis-plus框架的拓展包,在框架原有基础上做了进一步的轻度封装,增强内容:多数据源自动建表、数据自动填充、自动关联查询、冗余数据自动更新、动态查询条件等。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: 3.0.0
- **Homepage**: https://www.yuque.com/dontang/codewiki/gzqgd8
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 133
- **Created**: 2023-05-03
- **Last Updated**: 2023-05-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

借用MybatisPlus的口号:为简化开发工作、提高生产率而生
尽管[MybatisPlus](https://gitee.com/baomidou/mybatis-plus) (后文简称MP)相比较Mybatis丝滑了很多,但是,日常使用中,是否偶尔仍会怀念JPA(Hibernate)的那种纵享丝滑的感受,更好的一心投入业务开发中,如果你也是如此,那么恭喜你发现了MybatisPlusExt(后文简称MPE)。
MPE对MP做了进一步的拓展封装,即保留MP原功能,又添加更多有用便捷的功能。同样坚持与MP对Mybatis的原则,只做增强不做改变,所以,即便是在使用MPE的情况下,也完全可以百分百的使用MP的方式,因此MP能做的,MPE不仅能做还能做的更多。实际上MPE只入侵了MP的一个类(TableInfoHelper),因为要完成注解继承合并的操作,必须重写MP的注解读取逻辑。
增强功能具体体现在几个方面:自动建表(仅支持mysql)、数据自动填充(类似JPA中的审计)、关联查询(类似sql中的join)、冗余数据自动更新、动态条件等功能做了补充完善。
如果感觉本框架对您有所帮助,烦请去[Gitee](https://gitee.com/tangzc/mybatis-plus-ext) 给个小星星⭐️,欢迎来撩共同进步。

## TODO
> 如果大家有什么好的建议,欢迎提出来,视能力与时间,慢慢实现。
* 自动建表,多种数据库支持(3.0.0分支)
- [x] 重构自动建表相关的代码
- [x] 默认支持MySQL
- [x] 支持SQLite
- [x] 支持PgSql(仅支持自动创建、自动更新未实现)
* 自动建表,添加SQL执行过程留痕功能,方便生产环境直接导出使用
- [ ] 新增配置项:`mpe.auto-table.record-sql`配置项,配置SQL记录到数据库
* 加密解密场景
- [ ] 新增`@Encrypt`: {autoDecode: boolean(默认ture), mode: enum(默认BASE64), encryptHandle?: class\},字段自动加密(类似密码字段的需求,内置几种常用算法)
- [ ] 新增`IEncryptHandler`接口,开放给使用方自定义加密解密算法。
- [ ] 新增`IEncryptCompare`接口(空接口,内涵默认实现),Bean实现该接口,可具备对比不可逆加密算法的值,比如用户密码的场景。
## 官方教程
Mybatis-Plus-Ext教程
## 特别感谢
> 感谢JetBrains提供的软件支持
