mybatis-table-modify 1.5.1,一款根据注解自动生成和变更数据库表结构的工具
Mybatis-Table-Modify(表结构管理工具)
🍈项目介绍
本项目Fork自 A.C.Table,之前在其他项目中用到了A.C.Table, 并对功能进行了改造。因为该A.C.Table项目近期发生了停更,所以打算把这些功能给开源出来,同时继续将这个项目完善下去。
🥪 更新说明
- 支持字段排序,创建时有效,更新时不生效
- 支持Spring Boot3环境
- 支持静态字段识别,静态字段不参与建表
- 支持排除字段
- 支持多主键配置
- 优化索引注解配置方式
- 适配Spring Boot3,启动顺序提到最前
🍎 路线图
- 1.5.1 主要目标:调整项目结构,去除除表维护相关的其他功能,代码暂时只适配Spring Boot项目
- 1.5.2 主要目标:拆分为Maven多模块项目,支持非Spring Boot的项目接入
- 1.5.x 目标:
- 支持SQL Server数据库的表维护
- 支持Oracle数据库的表维护
- 支持达梦数据库的表维护
- 提供接入其他类型数据库的插件机制
- 1.6.x 目标:
- 支持非Spring中间件的项目接入
使用说明
添加pom依赖
<dependency> <groupId>cn.bootxe</groupId> <artifactId>mybatis-table-modify</artifactId> <version>${latest.version}</version> </dependency>
配置要建表的路径
无论是使用MyBatis还是MyBatis Plus,需要保证项目中的
mapper
被扫描到,否则会报错无法启动,项目中mapper
文件所在的路径为classpath*:cn/bootx/mybatis/table/modify/impl/*/mapper/*TableModifyMapper.xml
mybatis-table: # 数据库类型 database-type: mysql # 更新类型 update-type: create # 扫描包路径, 可以用 ,和 ; 分隔 scan-package: cn.bootx.**.entity
🛠️核心注解
不同的数据库各自会有一些专属的注解,通常适用于对应类型数据库专有的配置,如MySQL专有的
MySqlEngine(存储引擎)
、MySqlFieldType(字段类型)
等
@DbTable
表注释,标注在要进行建表的实体类上
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | String | "" | 表名,未配置时会读取TableName 中的配置 |
value | String | "" | 表名,未配置时会读取TableName 中的配置 |
comment | String | "" | 表注释 |
charset | MySqlCharset | "" | 数据库默认字符集 |
isSimple | boolean | true | 是否开启simple 模式配置,开启后字段不写注解@Column 也可以采用默认的驼峰转换法创建字段 |
excludeFields | String[] | {} | 需要排除的属性名,排除掉的属性不参与建表, 静态字段默认会被排除 |
@Column
字段注解,
@DbTable
开启simple
模式后,@DbColumn
不标注也会根据规则进行转换
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | String | "" | 行名,未配置时会读取Column 中的配置 |
value | String | "" | 行名,未配置时会读取Column 中的配置 |
order | int | 0 | 数据库字段排序,数字小的在前面,大的在后面 |
type | MySqlFieldType | DEFAULT | 不填默认使用属性的数据类型进行转换,转换失败的字段不会添加 |
length | int | 255 | 字段长度,默认是255 |
decimalLength | int | 0 | 小数点长度,默认是0 |
isNull | boolean | true | 是否为可以为null,true 是可以,false 是不可以,默认为true |
isKey | boolean | false | 是否是主键,默认false |
isAutoIncrement | boolean | false | 是否自动递增,默认false ,只有主键才能使用 |
defaultValue | String | "DEFAULT" | 默认值,默认为null |
comment | String | "" | 数据表字段备注 |
ignore | boolean | false | 是否排除该字段, 默认不排除 |
🥂 Bootx 项目合集
- Bootx-Platform 单体版脚手架
- Bootx-Cloud 微服务版脚手架
- Dax-Pay 支付开发平台
- Mybatis-Table-Modify 数据库表结构管理
- Bpm-Plus 工作流开发平台
🍻 鸣谢
感谢 JetBrains 提供的免费开源 License:
🍷License
Apache License Version 2.0

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GoFrame v2.4 版本发布,企业级 Golang 开发框架
大家好啊,GoFrame框架今天发布了v2.4.0正式版本啦!👏👏👏👏 该版本最大的亮点在于提供了微服务开发的功能特性、开发工具以及工程脚手架,并且提供了完善的微服务开发文档!!微服务的组件设计仍然以接口设计为主,以保证良好的灵活性和扩展性,接口维护在框架主库中;具体的接口实现仍然以务实为主,并在社区组件中提供了常用的接口实现。 其实该版本特性功能早已Ready,但由于文档工作量较大,陆续花了1个月左右才相对完善,因此版本的发布时间也相应做了调整。我们认为文档和代码同等重要,是发布里程碑不可分割的部分。我们知道怎么用好,也希望能告诉大家怎么用好,才能更务实地帮助到更多的开发者。这也是GoFrame框架的文档能够逐步沉淀丰富的原因之一。此外,详尽的源码注释依旧英文为主,以帮助到海外使用者。官网文档仍然以中文为主,帮助到主要的大中国区开发团队。 赶快来看看我们都更新了什么东西吧!Enjoy!🍺🍺🍺🍺🍺🍺🍺🍺 完整代码变更:v2.3.0...v2.4.0 新特性 正式发布微服务开发特性,并新增完整的微服务开发官网章节:微服务开发 功能改进 数据库组件 gdb 修复跨库...
- 下一篇
阿里云机器学习 PAI 发布基于 HLO 的全自动分布式系统 TePDist,并宣布开源!
作者:品曲,宗雁,佀畅,侠雕,伟林 导读 一直以来,大模型在模型效果上被证明具有显著优势。而ChatGPT的出现,证明了其在工业生产工具方面具有巨大潜力。毫无疑问,大模型的训练需要巨大的算力,这对分布式并行框架是一项考验。现如今,业界越来越多的团队纷纷转向分布式框架的研究与开发之中,既有针对特定场景特定模型的极致手工优化,也包括面向通用模型通用场景的自动分布式工作。然而,它们在实际生产场景仍然有一些挑战。一方面,对于手工优化的框架,虽然其特定情况下的性能较为极致,但通用性存在限制。另一方面,现有的自动分布式框架可能在通用性和性能方面表现较好,但通常需要忍受较长的策略搜索时间,进而对业务落地产生一定的影响。为了应对以上问题,PAI 团队推出并开源了TePDist(Tensor Program Distributed System),它通过在HLO上做分布式策略搜索,实现与用户模型语言解耦。并且在保持通用性的同时,在可接受的策略搜索时间内,追求高性能分布式策略。 TePDist背后的技术框架如何设计?未来有哪些规划?今天一起来深入了解。 TePDist是什么? TePDist是阿里云PAI...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16