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:

JetBrains

🍷License

Apache License Version 2.0

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/238247/mybatis-table-modify-1-5-1

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。