通过实体类自动建表

zero-acTable

介绍

zero-acTable是基于实体类创建表的开源项目。您只需要在实体类上标记相关注解就能达到创建数据库的操作,指定初始化脚本就能执行数据初始化,内置测试demo。源码地址:zero-acTable

数据库支持

mysql

功能介绍

  • 兼容MP 排除字段逻辑(static、transient修饰字段和@TableField注解exist=false)
  • 兼容MP @TableField、@TableName,@TableId注解
  • 兼容MP @TableId注解设置自增
  • 兼容hibernate @Table、@Column、@Id、@Transient注解
  • 兼容hibernate @GeneratedValue注解设置自增
  • 兼容swagger @ApiModel、@ApiModelProperty注解设置(表、字段)备注
  • 字段上没有任何注解,支持属性名转数据库列名(默认驼峰下划线),字段类型转数据库类型
  • 支持约束(主键、唯一键、索引、默认值(sql_server才具有))的创建、修改、删除
  • 支持数据初始化
  • 忽略表@IgnoreTable,自动建表时指定包下面需要忽略的表
  • 排除父类字段@ExcludeSuperField,自动建表时排除父类相关字段

一、Maven依赖

<dependency>
	<groupId>io.gitee.zero-wsh</groupId>
	<artifactId>acTable</artifactId>
	<version>2.1.1</version>
</dependency>

二、YAML配置

#配置实体类的包名,多个用逗号隔开
zero.ac-acTable.entity-package=io.gitee.zerowsh.actable.demo.entity.mysql
#支持的模式(默认NONE)
zero.ac-acTable.model=ADD_OR_UPDATE_OR_DEL
#建表之前执行的sql脚本
zero.ac-acTable.before-script=db/*.sql
#建表之后执行的sql脚本
zero.ac-acTable.after-script=db/*.sql

三、注解说明

1、类注解@AcTable,设置表相关信息

属性名描述默认值取值范围
name表名称
comment表注释
turn当字段没有标记@AcColumn注解时,java转数据库的方式TurnEnums.DEFAULTTurnEnums

2、字段注解@AcColumn,设置列名相关信息

属性名描述默认值取值范围
exclude排除该字段falsetrue/false
name列名称
order字段排序0整数
comment列注释
length字段长度255
decimalLength小数位数0
isNull是否为空truetrue/false
isKey是否主键falsetrue/false
isAutoIncrement是否自增falsetrue/false
defaultValue默认值default_value
type字段类型ColumnTypeEnums.DEFAULTColumnTypeEnums

3、索引@Index,设置表索引

属性名描述默认值取值范围
value索引名后缀,前缀固定idx_
columns列名

4、唯一键@Unique,设置表唯一键

属性名描述默认值取值范围
value唯一键后缀,前缀固定uk_
columns列名

5、@ExcludeSuperField,排除父级字段

属性名描述默认值取值范围
value排除父类相关字段

6、@IgnoreTable,忽略表的注解

7、@UpdateColumnName,修改列名

属性名描述默认值取值范围
value需要修改的列名,采用->进行分隔,左边是以前的字段,右边是改过后的字段

四、注意事项

  • 有初始化脚本时,必须保证可重复执行,多个插入语句默认使用endFlag隔开
  • 有初始化脚本时,在字符串和注释中不要出现sql分割符字样
  • 有初始化脚本时,并且使用了druid连接池filters不要配置wall
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值