云服务器内容精选

  • 主键标签 在comment中使用函数形式表示主键类型。可选值为:UUID、SNOWFLAKE、AUTO_INCREASE_INT32、AUTO_INCREASE_INT64、USER_DEFINE。 参数说明: 标签名称:valueObject。 数据类型:boolean类型。 默认值:false。 标签规则 UUID时主键应是字符类型。 AUTO_INCREASE_INT32的主键应是int类型。 AUTO_INCREASE_INT64的主键应是bigint类型。 SNOWFLAKE时主键应是数值(int/long)类型。 非USER_DEFINE的主键时,主键名不是“id”。 USER_DEFINE的主键时,未指定主键字段。 同时非USER_DEFINE时,可以不指定主键(即ddl中可以没有primary key的声明语句)。 当未指定标签时,指定主键情况下主键类型默认为USER_DEFINE; 未指定主键默认为UUID。 标签示例: CREATE TABLE `t_workspace4` ( `id` varchar(200) NOT NULL, `new_name3` varchar(200) NOT NULL, `new_name4` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) COMMENT = 'primaryKeyType("UUID")'; 标签使用效果:
  • 值对象标签 在comment中使用函数形式表示Value Object类型BO,标识作用于值对象表的number字段。 参数说明: 标签名称:valueObject。 数据类型:boolean类型。 默认值:false。 标签示例: CREATE TABLE `t_workspace9` ( `id` varchar(40) NOT NULL COMMENT 'id', `name` varchar(200) NOT NULL COMMENT 'name', PRIMARY KEY (`id`) ) COMMENT = 't_workspace9'; CREATE TABLE `t_object1` ( `workspace9_id` varchar(0) NOT NULL COMMENT 'relation("t_workspace9","id","AGGREGATE")', `number` int NOT NULL COMMENT 'valueObject' ) COMMENT = 'object1'; 标签使用效果:
  • 别名标签 在comment中使用函数形式标识字段或表的别名,标识作用于表中字段或表名。 参数说明: 标签名称:alias。 数据类型:string类型。 默认值:空(原字段名或表名)。 标签示例: CREATE TABLE `t_workspace9` ( `id` varchar(40) NOT NULL COMMENT 'id', `name` varchar(200) NOT NULL COMMENT 'alias("rename");searchable', PRIMARY KEY (`id`) ) COMMENT = 'alias("workspace10")'; 标签使用效果: 表名别名效果: 字段别名效果:
  • 字段允许搜索标签 在comment中使用函数形式表示字段允许搜索,标识作用于表中需设置为searchable的字段。 参数说明: 标签名称:searchable。 数据类型:boolean类型。 默认值:false。 标签示例: CREATE TABLE `t_workspace9` ( `id` varchar(40) NOT NULL COMMENT 'id', `name` varchar(200) NOT NULL COMMENT 'name;searchable', PRIMARY KEY (`id`) ) COMMENT = 'workspace9'; 与其他标签同时使用";"分隔使用示例: CREATE TABLE `t_object1` ( `workspace9_id` varchar(0) NOT NULL COMMENT 'relation("t_workspace9","id","AGGREGATE");searchable', `number` int NOT NULL COMMENT 'valueObject' ) COMMENT = 'object1'; 标签使用效果:
  • 字段数据类型标签 在comment中使用函数形式标识字段的数据类型,标识作用于表中字段,可使标识字段数据类型在模型中修改为标识类型。 参数说明: 标签名称:type。 数据类型:string类型。 默认值:空(原字段数据库类型对应的java类型)。 标签示例: CREATE TABLE `t_workspace9` ( `id` varchar(40) NOT NULL COMMENT 'id', `name` varchar(200) NOT NULL COMMENT 'type("integer")', PRIMARY KEY (`id`) ) COMMENT = 't_workspace9'; 标签使用效果:
  • 注意事项 SwaggerCodeGen会将n、FALSE、 No和off转换成boolean类型的false,将Y、true、Yes和ON转换成boolean类型的true,所以在java代码编译时会报错。因此“是否生成客户端”开关打开时,表中定义上述字段时可使用“别名标签”给字段设置别名。 关系表标识:含有"_rel_"的表名,大小写不敏感。例如:t_rel_workspace4_workspace5。
  • 关系标签 一对多关系 在MANY一方的关系字段上添加标注:COMMENT 'relation("关联表名","关联表字段","ONE2MANY")'。 DDL示例: CREATE TABLE `t_workspace2` ( `id` varchar(200) NOT NULL, `new_name3` varchar(200) NOT NULL, `new_name4` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) COMMENT = 'primaryKeyType("UUID")'; CREATE TABLE `t_workspace3` ( `id` varchar(200) NOT NULL, `new_name4` varchar(200) NOT NULL, `workspace2_id` varchar(200) NOT NULL COMMENT 'searchable;relation("t_workspace2","id","ONE2MANY")', PRIMARY KEY (`id`) ) COMMENT = 'primaryKeyType("UUID")'; 标签使用效果: 多对多关系 在多对多关系表的关系字段上添加标注:COMMENT = 'relation("关联表名","关联表字段","MANY2MANY")'。 此处关系的首要方关联字段写在关系的次要方关联字段前面,即workspace4_id字段在workspace5_id前面。示例中首要方:t_workspace4,次要方:t_workspace5。 DDL示例: CREATE TABLE `t_workspace4` ( `id` varchar(200) NOT NULL, `new_name3` varchar(200) NOT NULL, `new_name4` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) COMMENT = 'primaryKeyType("UUID")'; CREATE TABLE `t_workspace5` ( `id` varchar(200) NOT NULL, `new_name3` varchar(200) NOT NULL, `new_name4` varchar(200) NOT NULL, `new_name5` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) COMMENT = 'primaryKeyType("UUID")'; CREATE TABLE `t_rel_workspace4_workspace5` ( `new_name3` varchar(200) NOT NULL, `new_name4` varchar(200) NOT NULL, `workspace4_id` varchar(200) NOT NULL COMMENT 'relation("t_workspace4","id","MANY2MANY")', `workspace5_id` varchar(200) NOT NULL COMMENT 'relation("t_workspace5","id","MANY2MANY")', CONSTRAINT pk_t_rel_workspace4_workspace5 PRIMARY KEY (`workspace4_id`, `workspace5_id`) ) COMMENT = 'relWorkspace4Workspace5'; 标签使用效果: 聚合关系 在聚合关系的主表的关系字段上添加标注:COMMENT 'relation("关联表名","关联表字段","AGGREGATE")'。 DDL示例: CREATE TABLE `t_spec_group` ( `id` varchar(40) NOT NULL COMMENT 'id', `city_id` varchar(40) NOT NULL COMMENT 'relation("t_city","id","AGGREGATE")', `name` varchar(200) NULL, PRIMARY KEY (`id`) ) COMMENT = 'specGroup'; CREATE TABLE `t_city` ( `id` varchar(40) NOT NULL COMMENT 'id', `city` varchar(200) NULL, `dateType` date NOT NULL COMMENT 'dateType', PRIMARY KEY (`id`) ) COMMENT = 'city'; 标签使用效果: 树递归关系 在树递归关系BO表中的"parent_id"上添加标注:COMMENT 'relation("关联表名","关联表字段","RECURSIVE")'。 DDL示例: CREATE TABLE `t_workspace6` ( `parent_id` bigint(40) NULL COMMENT 'parent_id;relation("t_workspace6","id","RECURSIVE")', `id` bigint(40) NOT NULL, `new_name4` varchar(200) NOT NULL, `new_name5` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) COMMENT = 'primaryKeyType("SNOWFLAKE")'; 标签使用效果: