Mybatis-Table-Modify表结构管理工具
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
评论