mybatis-table-modify 1.5.1-beta3,自动生成和变更表结构组件更新


项目介绍

本项目 Fork 自 A.C.Table,之前在其他项目中用到了 A.C.Table, 并对功能进行了改造。因为该 A.C.Table 项目近期发生了停更,所以打算把这些功能给开源出来,同时继续将这个项目完善下去。

项目地址:https://gitee.com/bootx/mybatis-table-modify,非常欢迎看看项目介绍留以及个Star呀🤺🤺🤺

更新说明

  • fix: 获取MySqlFieldType
  • fix: 打包时未把mapper 导入jar

功能说明

  • 支持自动创建和更新数据库表结构
  • 支持指定表的名称、字符集、引擎类型、注释等信息
  • 支持指定表字段的类型、排序、非空、自增、默认值、长度等信息
  • 支持配置索引,包括指定字段、类型、注释等
  • 支持多种更新模式:创建和更新表、只创建不更新、删除后重新创建、不进行任何操作

 路线图

  • 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:

JetBrains

🍷License

Apache License Version 2.0

 


相關推薦

2023-10-23

【源创会预告】1024 程序员节(的前两天),相约开源PHP办公室,我们一起聊 AI!>>> 项目介绍 本项目 Fork 自 A.C.Table,之前在其他项目中用到了 A.C.Table, 并对功能进行了改造。因为该 A.C.Table 项目近期发生了停更,所以打

2023-01-19

。因此,请注意,主框架gredis组件的使用方式发生了一些变更,在依赖redis的项目中需要引入社区组件redis实现,否则方法执行将会返回错误。保留兼容原有基础的Do/DoVar方法,并增加了100+项常用redis操作方法:NoSQL Redis 配置管

2022-06-25

Bytebase 是一个基于网络、零配置、无依赖的数据库 Schema 变更和版本控制管理工具,适用于开发人员和 DBA。 Bytebase 1.2 发布,更新内容如下: 支持 SQL 编辑器中的 Schema 审核 配置完 Schema 审核规则后,在 SQL 编辑器中运行的

2023-10-11

的excel 重构子表单API数据自动导入方案,通过数据手动变更传递数值变更来进行导入操作,防止出现不可控的导入操作或不响应问题 完善高级子表单中下拉框多组件关联的功能 重构高级子表单渲染 & 子表单数据对接 &

2023-06-16

项目介绍         项目地址:https://gitee.com/bootx/bootx-platform,非常欢迎看看项目介绍留以及个Star呀🤺🤺🤺     基于Spring Boot框架生态打造,针对单体式应用进行专门设计,同时做好模

2024-04-18

非覆盖式更新:如模型已生成后端代码,devtools将在字段变更时自动非覆盖式更新后端代码。 适配该版本新增的多个数据库 适配Spring boot v3.x,代码生成支持JDK17+ 模型设计优化: 支持指定数据删除方式:逻辑删除/

2023-10-23

【源创会预告】1024 程序员节(的前两天),相约开源PHP办公室,我们一起聊 AI!>>> 项目介绍         项目地址:https://gitee.com/bootx/bootx-platform,非常欢迎看看项目介绍留以及个 Star 呀🤺🤺

2023-08-11

项目介绍         项目地址:https://gitee.com/bootx/bootx-platform,非常欢迎看看项目介绍留以及个Star呀🤺🤺🤺     基于Spring Boot框架生态打造,针对单体式应用进行专门设计,同时做好模

2023-05-11

项目介绍         项目地址:https://gitee.com/bootx/bootx-platform,非常欢迎看看项目介绍留以及个Star呀🤺🤺🤺     基于Spring Boot框架生态打造,针对单体式应用进行专门设计,同时做好模

2022-10-30

等等常规基础模块; 4、设计并研发代码生成器,根据表结构动态解析并生成模块文件和增删改查功能; 5、设计并研发一系列其他配套功能很常规使用函数; 6、解决代码生成器每次生成时未删除菜单节点的问题; 7、重整表结

2023-07-18

开发工具 新增gf gen ctrl命令,用于编译api定义目录,自动生成规范的controller、HTTP SDK代码:接口规范-gen ctrl 改进gf gen dao命令,新增TypeMapping特性,开发者可自定义数据表字段类型与生成的Go实体数据结构属性类型映射,并

2022-04-30

nge and version control 的工具。它主打的是在应用研发过程中变更数据库数据结构 (schema) 的这个场景,主要面向的人群是研发工程师和 DBA。 新版本主要变化 支持通过 --pg 选项启动 Bytebase 用户可以使用外部 PostgreSQL 数据

2023-04-16

题 fix: 修复 Elasticsearch 源查询日志原文值如返回空对象结构数据会报错问题 fix: 修复业务组关联的团队被删除后无法编辑该业务组问题 fix: 发送 Mattermost 消息时 tokens 处理问题 #1476 by lwangrabbit fix: pub 静态文件路

2023-04-09

备份下数据库! 需要先将你正在使用的夜莺数据源表结构更新到和 v5.15.0 一致,release 页面有每个版本表结构的更新说明,可以根据你正在使用的版本,按照说明,逐个执行下更新表结构的语句 解压 n9e 安装包,导入 u