项目介绍
本项目 Fork 自 A.C.Table,之前在其他项目中用到了 A.C.Table, 并对功能进行了改造。因为该 A.C.Table 项目近期发生了停更,所以打算把这些功能给开源出来,同时继续将这个项目完善下去。
项目地址:https://gitee.com/bootx/table-modify,非常欢迎看看项目介绍留以及个 Star 呀🤺🤺🤺
更新说明
- 新增忽略表更新功能
- 去掉mybatis plus的强制依赖
- 更改为Spring Data Jdbc进行数据操作
- 增加PostgreSql对应自动建表
- 支持字节数组的默认映射
功能说明
- 支持自动创建和更新数据库表结构
- 支持指定表的名称、字符集、引擎类型、注释等信息
- 支持指定表字段的类型、排序、非空、自增、默认值、长度等信息
- 支持配置索引,包括指定字段、类型、注释等,可以快速索引
- 支持多种更新模式:创建和更新表、只创建不更新、删除后重新创建、不进行任何操作
路线图
- 1.5.4 主要目标
- 支持PostgreSQL数据库的表新建功能
- 不再依赖Mybatis和Mybatis Plus,SQL执行使用JdbcTemplate
- 1.5.x 目标:
- 支持PostgreSQL数据库的表更新功能
- 支持SQL Server数据库的表维护
- 支持Oracle数据库的表维护
- 支持达梦数据库的表维护
- 提供接入其他类型数据库的插件机制
- 1.6.x 目标:
- 支持非Spring中间件的项目接入
🥂 使用说明
推荐只在开发时使用,生产环境停用自动更新。如何使用可以参考示例项目示例项目: table-modify-example演示项目 ,以及项目使用文档
添加pom依赖
<dependency> <groupId>cn.bootx</groupId> <artifactId>table-modify-mysql-boot-starter</artifactId> <version>${table-modify.version}</version> </dependency>
最新版本
配置文件配置
mybatis-table: # 更新类型 update-type: create # 扫描包路径, 可以用 ,和 ; 分隔 scan-package: cn.bootx.**.entity # 是否开启快速失败模式, 出现错误项目直接中止启动 fail-fast: false
其他配置
无论是使用MyBatis还是MyBatis Plus,需要保证项目中的
mapper
被扫描到,否则会报错无法启动,项目中
mapper
文件所在的路径为classpath*:cn/bootx/mybatis/table/modify/impl/*/mapper/*TableModifyMapper.xml
MyBatis配置扫描
mybatis: mapper-locations: classpath*:mapper/**/*Mapper.xml
MyBatis Plus配置扫描
# mp配置 mybatis-plus: mapper-locations: classpath*:mapper/**/*Mapper.xml
🥂 Bootx 项目合集
- Bootx-Platform 单体版脚手架
- Bootx-Cloud 微服务版脚手架
- Dax-Pay 支付开发平台
- Mybatis-Table-Modify 数据库表结构管理
- Bpm-Plus 工作流开发平台
🍻 鸣谢
感谢 JetBrains 提供的免费开源 License:
🍷License
Apache License Version 2.0