# AutoTable
**Repository Path**: gispdr/auto-table
## Basic Information
- **Project Name**: AutoTable
- **Description**: 根据 Java 实体,自动映射成数据库的表结构。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: https://autotable.tangzc.com
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 42
- **Created**: 2025-06-18
- **Last Updated**: 2025-06-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

你只负责维护实体,数据表的事情交给我
## 什么是AutoTable?
顾名思义-自动表格,根据Bean实体,自动映射成数据库的表结构。
用过JPA的都知道,JPA有一项重要的能力就是表结构自动维护(JPA的也不完善),这让我们可以专注于业务逻辑和实体,而不需要关心数据库的表、列的配置,尤其是开发过程中频繁的新增表及变更表结构,节省了大量手动工作。
但是JAVA圈子这么大,在JPA之外一直缺少这种体验,所以AutoTable应运而生了。
## 兼容多款ORM框架
AutoTable分别在表名、字段名、主键、主键策略、枚举处理、多数据源等多方面进行接口化抽取,兼容了大部分主流Mybatis拓展框架,如Mybatis-plus、Mybatis-flex等。
### mybatis-plus拓展包
mybatis-plus-ext
是mybatis-plus框架的拓展包,在框架原有基础上做了进一步的轻度封装,增强内容:免手写Mapper、多数据源自动建表(auto-table)、数据自动填充、自动关联查询、冗余数据自动更新、动态查询条件等。
### mybatis-flex拓展包
mybatis-flex-ext
是mybatis-flex框架的拓展包,在框架原有基础上做了进一步的轻度封装,增强内容:多数据源自动建表(auto-table)、数据自动填充(类似JPA中的审计)。
## 支持的数据库
> 以下的测试版本是我本地的版本或者部分小伙伴测试过的版本,更低的版本未做详细测试,但不代表不能用,所以有测试过其他更低版本的小伙伴欢迎联系我修改相关版本号,感谢🫡
| 数据库 | 测试版本 | 说明 |
|--------------|-----------------------|-------------------------------------|
| ✅ MySQL | 5.7 | |
| ✅ MariaDB | 对应MySQL的版本 | 协议使用MySQL,即`jdbc:mysql://` |
| ✅ PostgreSQL | 15.5 | |
| ✅ SQLite | 3.35.5 | |
| ✅ H2 | 2.2.220 | |
| ✅ Doris | 2.0 | 成员[@lizhian](../../../../lizhian)开发 |
| ✅ Oracle | 11g && 23ai | 成员[@lizhian](../../../../lizhian)开发 |
| ✅️ 达梦 | dm8(大小写不敏感,兼容mysql模式) | 成员[@minfc](../../../../minfc)开发 |
| ✅ 人大金仓 | V009R001C002B0014 | 成员[@minfc](../../../../minfc)开发 |
| 其他数据库 | 暂未支持 | 期待你的PR😉 |
## 流程图

## 官方教程
AutoTable教程
## 联系作者(微信)

## 特别感谢
> 感谢JetBrains提供的软件支持
