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}
*/#end
private $!{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:自动生成代码
选择你刚刚导入的模板就行,可以多选,一次性生成多个,可以选择你想要生成在那个包下边,不选默认生成主目录下边
没选选了