# plugin **Repository Path**: cyvaction/plugin ## Basic Information - **Project Name**: plugin - **Description**: IDEA插件,快速生成建表语句 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2023-10-17 - **Last Updated**: 2023-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 简介 ~~~ 在我们日常开发当中时常需要更新自己的实体类来生成对应的SQL,该插件致力于通过注解快速生成建表以及更新字段的SQL语句,提高开发效率 ~~~ ### 使用方式 + [下载jar包,请点击这里](http://note.youdao.com/noteshare?id=212c868d12ca88aefd08eb829910331d) + 下载完成后找到idea中插件引入的位置 ![image](3513BF7429E64EA98CA23D42D9D6F3F2) + 点击引入jar包 ![image](51F2C5606F604AD1A56F978075F62396) + 选择已经下载的jar包 ![image](B5A1B7C47D85453A8FA0C796CCCEE512) + 最后restart idea(重启一下即可) + 重启完成之后,右击选择一个Java实体类文件 ![image](3800F2E94FDF4F4C90D274851ECA40DA) + 点击生成建表语句即可 + 当看到右下角提示,则成功生成 ![image](9FC2884524EE4E4D8FB9FE9B363182A6) + 结果展示 ``` CREATE TABLE `test_domain` ( `id` VARCHAR(36) NOT NULL DEFAULT '' COMMENT '主键ID', `formId` VARCHAR(36) NOT NULL DEFAULT '' COMMENT '表单id', `formVersionId` VARCHAR(36) DEFAULT NULL COMMENT '表单版本号id', `formDetailId` VARCHAR(36) DEFAULT NULL COMMENT '表单详情id', `productId` VARCHAR(36) NOT NULL DEFAULT '' COMMENT '产品id', `cover` VARCHAR(36) DEFAULT NULL COMMENT '产品封面', `productName` VARCHAR(36) DEFAULT NULL COMMENT '产品名称', `skucomments` VARCHAR(36) DEFAULT NULL COMMENT '规格值集', `amountPayable` VARCHAR(36) DEFAULT NULL COMMENT '应付金额 = 产品原价 * 购买数量', `isDel` VARCHAR(36) DEFAULT NULL COMMENT '是否删除 0 -否 -1 是', PRIMARY KEY (`id`) ) ENGINE=InnoDB ; ``` ### 拓展 ~~~ 建议使用下面提供的注解 贴到对应的实体类字段上,这样你的建表语句会更加完善 ~~~ ``` package com.cwl.pulgins.annotion; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * @program: pulgin * @description: 字段注解 * @author: ChenWenLong * @create: 2019-09-03 17:18 **/ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Column { /** * 是否默认为空 */ boolean isNull() default true; /** * 编码格式 */ String encoding() default ""; /** * 是否无符号 */ boolean unsigned() default false; /** * 是否创立索引 */ boolean index() default false; /** * 字段注释 */ String comment() default ""; /** * 字段大小 */ String type() default ""; } ```