- 下载最新版的插件文件: releases
- 打开IntelliJ IDEA,选择Intellij IDEA->Preferences->Plugin->Install Plugin from Disk, 选择下载的插件文件
- 重启IDEA
选择顶部菜单栏->Ganguo->添加ExceptionMsg
,在弹出的输入框中输入键和值,
按确定键后即可在exception_msg.properties
和ExceptionMsg.class
中添加对应的键和值。
在exception_msg.properties
文件中把光标移到某一行上,按Alt+Enter
,
在弹出的菜单中选择删除Msg
即可删除对应的Msg。
生成代码的模板可在
主菜单->Other Settings->Ganguo中修改
,模板是项目级别的,可以在不同的项目中设置不同的模板。
选择顶部菜单栏->Ganguo->生成Service
,在弹出的输入框中输入路径(api或admin)
、模块名
和名称
,
按确定键后即可生成对应的Service接口和Service实现类。
例如:输入(api, user, user)
,即可生成如下文件:
- com.ganguomob.dev.xxxx.service.api.user.UserService
- com.ganguomob.dev.xxxx.service.api.user.UserServiceImpl
选择顶部菜单栏->Ganguo->生成Repository
,在弹出的输入框中输入表名
、模块名
和名称
,
按确定键后即可生成对应的IRepository接口、IDbStrategy接口、Repository实现类和DAO实现类。
例如:输入(USER, user, user)
,即可生成如下文件:
- com.ganguomob.dev.xxxx.domain.repository.user.IUserRepository
- com.ganguomob.dev.xxxx.domain.repository.user.IUserDbStrategy
- com.ganguomob.dev.xxxx.infrastructure.repository.impl.UserRepository
- com.ganguomob.dev.xxxx.infrastructure.repository.db.impl.UserDAO
选择顶部菜单栏->Ganguo->生成校验注解
,在弹出的输入框中输入路径
、名称
和类型
,
按确定键后即可生成对应的Validator注解和ValidatorImpl实现类。
例如:输入(user, UserExists, java.lang.Long)
,即可生成如下文件:
- com.ganguomob.dev.xxxx.infrastructure.validation.user.UserExists
- com.ganguomob.dev.xxxx.infrastructure.validation.user.UserExistsValidatorImpl
在Controller类中右键点击接口方法名
,在弹出的菜单中选择甘果->生成测试类
即可生成对应的测试类。
在sql文件中光标移到字段所在行,打开顶部菜单栏->Ganguo->生成EnumCode
,即可生成对应的状态类。
字段列必须匹配格式: `xxx` (TINY)?INT(x) ... COMMENT 'xx:0-xxx,1-xx'
例如把光标移到status字段所在行,选择生成EnumCode
。
CREATE TABLE `user`
(
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(64) NOT NULL COMMENT '名称',
`status` TINYINT(1) UNSIGNED NOT NULL COMMENT '状态:0-正常,1-冻结',
`created_at` BIGINT(13) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
`updated_at` BIGINT(13) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
生成代码:
@AllArgsConstructor
@Getter
public enum UserStatus implements EnumCode {
/** 正常 */
NORMAL(0),
/** 冻结 */
FROZEN(1),
;
private final int code;
}
生成过程中会调用百度翻译API,需要在设置中配置百度翻译的应用ID和密钥。
打开要格式化的SQL文件,选择顶部菜单栏->Ganguo->格式化SQL脚本
,即可格式化当前SQL文件。也可以选中文本来部分格式化。
目前仅支持INSERT语句格式化:
INSERT INTO `user`
(`id`, `name`, `phone`)
VALUES
(1, '小明', '13414850000'),
(2, 'Jack', '13414850001'),
(3, '小花', '8613414850001');
结果:
INSERT INTO `user`
(`id`, `name`, `phone` )
VALUES
( 1, '小明' , '13414850000' ),
( 2, 'Jack', '13414850001' ),
( 3, '小花' , '8613414850001');
打开要格式化的Java文件,选择顶部菜单栏->Ganguo->字段排序
,即可给Java文件的顶部类的字段排序。
也可以通过把光标移到要格式化的类名上来格式化指定的类。
排序规则为:
- 有
static
修饰符 - 有
final
修饰符 public
,protected
,default
,private
- 字段名字符串顺序
打开要格式化的Java文件,选择顶部菜单栏->Ganguo->方法排序
,即可给Java文件的顶部类的方法排序。
也可以通过把光标移到要格式化的类名上来格式化指定的类。
排序规则为:
- 有
abstract
修饰符 - 有
static
修饰符 - 有
final
修饰符 public
,protected
,default
,private
- 方法名字符串顺序
打开要格式化的Java文件,选择顶部菜单栏->Ganguo->Repository方法排序
,即可给Repository类的方法排序。
也可以通过把光标移到要格式化的类名上来格式化指定的类。
排序规则为:
- 有
abstract
修饰符 - 有
static
修饰符 - 有
final
修饰符 public
,protected
,default
,private
- 前缀顺序:
insert
,batchInsert
,update
,batchUpdate
,delete
,query
,find
,get
,list
,page
,exists
,count
,sum
- 方法名字符串顺序
Alt+Enter
->插入当前时间戳
选中文本,选择顶部菜单栏->Ganguo->驼峰-下划线互转
在SQL文件中选中要添加反引号的文本,选择顶部菜单栏->Ganguo->SQL字段用反引号包裹
。
CREATE TABLE user
(
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(64) NOT NULL COMMENT '名称',
created_at BIGINT(13) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
updated_at BIGINT(13) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
结果:
CREATE TABLE `user`
(
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(64) NOT NULL COMMENT '名称',
`created_at` BIGINT(13) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
`updated_at` BIGINT(13) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
右键类名,选择Copy Reference
,然后双击选中变量名,选择顶部菜单栏->Ganguo->生成Getter调用
。
User user = new User();
结果
User user = new User();
user.getId();
user.getName();
user.getPassword();
user.getPhone();
右键类名,选择Copy Reference
,然后双击选中变量名,选择顶部菜单栏->Ganguo->生成Setter调用
。
User user = new User();
结果
User user = new User();
user.setId();
user.setName();
user.setPassword();
user.setPhone();
在IXXXRepository类中,右键点击方法名,选择甘果->实现此方法
。
打开标注了@ApiModel
注解的类(如UserRequest),选择顶部菜单栏->Ganguo->ApiModel自动编号
。
可自动给标注了@ApiModelProperty
注解的字段添加position
属性,并且按照字段属性进行编号。
打开标注了@Mapper注解的类(如UserAssembler),右键点击方法名
,选择甘果->添加ignore
,
可自动添加@Mapping(target = "xxx", ignore = true)
注解。
- 在Controller类中右键点击
接口方法名
,在弹出的菜单中选择甘果->跳转到测试类
即可跳转到对应的测试类。 - 在测试类中右键点击任意地方,在弹出的菜单中选择
甘果->跳转到接口方法
即可跳转到对应的接口方法。
在Controller类中右键点击接口方法名
,在弹出的菜单中选择甘果->修改方法名称
,输入新的方法名称,
可同时修改方法名和对应的测试类名。
在Controller类中右键点击接口方法名
,在弹出的菜单中选择甘果->修改方法URL
,输入新的URL,
可同时修改方法的URL和对应的测试类中引用的URL。