1:插件下载
Plugins中搜索EasyCode,并且下载安装
2:模板编写
2.1:entity.vm.java模板
##引入宏定义
$!{define.vm}##使用宏定义设置回调(保存位置与文件后缀)
#save("/entity", "DO.java")##使用宏定义设置包后缀
#setPackageSuffix("entity")##使用全局变量实现默认包导入
$!{autoImport.vm}
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.Getter;
import lombok.Setter;
import com.baomidou.mybatisplus.extension.activerecord.Model;##使用宏定义实现类注释信息
#tableComment("实体类")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("$!{tool.hump2Underline($!{tableInfo.name})}")
@ApiModel(value = "$!{tableInfo.name}", description = "$tableInfo.comment")
public class $!{tableInfo.name}DO implements Serializable {private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)#if(${column.comment})/*** ${column.comment}*/#end@ApiModelProperty(value = "${column.comment}")@TableField("$!{tool.hump2Underline($!{column.name})}")private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
}
2.2:dto.vm.java模板
##引入宏定义
$!{define.vm}##使用宏定义设置回调(保存位置与文件后缀)
#save("/dto", "DTO.java")##使用宏定义设置包后缀
#setPackageSuffix("dto")##使用全局变量实现默认包导入
$!{autoImport.vm}
import java.io.Serializable;
import lombok.Data;##使用宏定义实现类注释信息
#tableComment("实体类")
@Data
public class $!{tableInfo.name}DTO implements Serializable {private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)#if(${column.comment})/*** ${column.comment}*/#endprivate $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
}
2.3: service.vm.java
##导入宏定义
$!{define.vm}##设置表后缀(宏定义)
#setTableSuffix("Service")##保存文件(宏定义)
#save("/service", "Service.java")##包路径(宏定义)
#setPackageSuffix("service")import com.baomidou.mybatisplus.extension.service.IService;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}DO;
import cn.hsa.hsaf.core.framework.web.WrapperResponse;
import java.util.Map;##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())#set($pk = $tableInfo.pkColumn.get(0))
#end/*** $!{tableInfo.comment}($!{tableInfo.name})表Service** @author $!author* @since $!time.currTime()*/
public interface $!{tableName} extends IService<$!{tableInfo.name}DO> {/*** 查询$!{tableInfo.name}数据** @author $!author*/WrapperResponse<String, Object> query$!{tableInfo.name} ($!{tableInfo.name}DTO $!tool.firstLowerCase($!{tableInfo.name})DTO) throws Exception;/*** 新增$!{tableInfo.name}数据** @author $!author*/WrapperResponse<String, Object> insert$!{tableInfo.name} ($!{tableInfo.name}DTO $!tool.firstLowerCase($!{tableInfo.name})DTO) throws Exception;/*** 修改$!{tableInfo.name}数据** @author $!author*/WrapperResponse<String, Object> update$!{tableInfo.name} ($!{tableInfo.name}DTO $!tool.firstLowerCase($!{tableInfo.name})DTO) throws Exception;/***删除$!{tableInfo.name}数据** @author $!author*/WrapperResponse<String, Object> delete$!{tableInfo.name} ($!{tableInfo.name}DTO $!tool.firstLowerCase($!{tableInfo.name})DTO) throws Exception;}
2.4: serviceimpl.vm.java
##导入宏定义
$!{define.vm}##设置表后缀(宏定义)
#setTableSuffix("ServiceImpl")##保存文件(宏定义)
#save("/service/impl", "ServiceImpl.java")##包路径(宏定义)
#setPackageSuffix("service.impl")import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import $!{tableInfo.savePackageName}.dao.$!{tableInfo.name}Dao;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}DO;
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.stereotype.Service;##表注释(宏定义)
#tableComment("表服务实现类")
@Service("$!tool.firstLowerCase($tableInfo.name)Service")
public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Dao, $!{tableInfo.name}DO> implements $!{tableInfo.name}Service {}
2.5dao.vm.java
##导入宏定义
$!{define.vm}##设置表后缀(宏定义)
#setTableSuffix("Dao")##保存文件(宏定义)
#save("/dao", "Dao.java")##包路径(宏定义)
#setPackageSuffix("dao")import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}DO;##表注释(宏定义)
#tableComment("表数据库访问层")
public interface $!{tableName} extends BaseMapper<$!{tableInfo.name}DO> {}
3:导入模板
模板编写完之后,进行模板导入
settings--》other settings--》EasyCode--》Template---》点击Group Name后边的+号添加自己的板块,也可以选择默认---》
然后点击下边的加号+添加模板
将对应模板贴入,点击应用
4:引入数据库
填入信息(ip,port,账号、密码)进行测试链接
可能会遇到一个问题就是,明明navicat可以连接数据库,但是idea却链接不上:
解决:在启动类启动项配置VM option,加上:
-Djava.net.preferIPv4Stack=true
并且在help-->edit custom Vm options
链接上点击旁边的会显示数据库信息,如果没显示就refrush一下
然后选择你需要生成代码的数据库跟表
5:自动生成代码
选择你刚刚导入的模板就行,可以多选,一次性生成多个,可以选择你想要生成在那个包下边,不选默认生成主目录下边
没选选了