Mybatis-Table-Modify表结构管理工具

联合创作 · 2023-10-01 00:17

Mybatis-Table-Modify是表结构管理工具。

🍈项目介绍

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

只需要在Entity实体类上添加注解,程序会自动根据获取到的注解来自动生成创建表语句,以及变更数据库表结构的更新语句,支持了与mybatis和mybatis plus共同使用,兼容Mybatis-Plus的注解。

使用说明

添加pom依赖

    
        cn.bootxe
        mybatis-table-modify
        ${latest.version}
    

最新版本

配置要建表的路径

无论是使用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 工作流开发平台

🍷License

Apache License Version 2.0

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报