A.CTable基于 Spring 和 Mybatis 的 Maven 项目
A.CTable 是一个基于 Spring 和 Mybatis 的 Maven 项目,增强了 Mybatis 的功能,通过配置model 注解的方式来创建表,修改表结构,提供通用的单表 CUDR 工具,支持 SpringBoot 以及传统的 SpringMvc 项目结构,简单配置即可目前支持 Mysql。该框架是为了能够使习惯了 hibernate 框架的开发者能够快速的入手 Mybatis,同时能够兼容tk.mybatis,如需使用依赖tk.mybatis的pom依赖即可,目前仅支持Mysql,后续会扩展针对其他数据库的支持。
代码用途讲解
1. MySqlCharsetConstant.java这个对象里面配置的是mysql的数据类型,这里配置的类型越多,意味着创建表时能使用的类型越多 2. @Column.java也是一个自定义的注解,用于标记model中的字段上,作为创建表的依据如不标记,不会被扫描到,有几个属性用来设置字段名、字段类型、长度等属性的设置,详细请看代码上的注释 3. @Table.java也是一个自定义的注解,用于标记在model对象上,有一个属性name,用于设置该model生成表后的表名,如不设置该注解,则该model不会被扫描到 4. @Index.java是一个自定义注解,用于标记在model中的字段上,表示为该字段创建索引,有两个属性一个是设置索引名称,一个是设置索引字段,支持多字段联合索引,如果都不设置默认为当前字段创建索引 5. @Unique.java是一个自定义注解,用于标记在model中的字段上,表示为该字段创建唯一约束,有两个属性一个是设置约束名称,一个是设置约束字段,支持多字段联合约束,如果都不设置默认为当前字段创建唯一约束 6. @TableComment用来配置表的注释,可用来替代@Table的comment 7. @IsKey/@IsAutoIncrement/@IsNotNull用来代替 @Column中的isKey/isAutoIncrement/isNull三个属性,当然旧的配置方式仍然是支持的 8. @ColumnComment字段注释,用来替代@Column中的comment 9. @DefaultValue字段默认值,用来替代@Column中的defaultValue 10.@ColumnType字段类型,用来替代@Column中的type,取值范围MySqlTypeConstant.java中的枚举 11.@TableCharset表字符集,用来替代@Table中的charset,取值范围MySqlCharsetConstant.java中的枚举 12.@TableEngine表引擎类型,用来替代@Table中的engine,取值范围MySqlEngineConstant.java中的枚举 13.支持javax.persistence包中的部分注解,用于对tk.mybatis做支持 javax.persistence.Column 同 com.gitee.sunchenbin.mybatis.actable.annotation.Column javax.persistence.Column.name 同 com.gitee.sunchenbin.mybatis.actable.annotation.Column.name javax.persistence.Column.length 同 com.gitee.sunchenbin.mybatis.actable.annotation.Column.length javax.persistence.Column.scale 同 com.gitee.sunchenbin.mybatis.actable.annotation.Column.decimalLength javax.persistence.Table 同 com.gitee.sunchenbin.mybatis.actable.annotation.Table javax.persistence.Id 同 com.gitee.sunchenbin.mybatis.actable.annotation.IsKey 13.系统启动后会去自动调用SysMysqlCreateTableManagerImpl.java的createMysqlTable()方法,没错,这就是核心方法了,负责创建、删除、修改表。
评论