EasyCode 是一款基于 IntelliJ IDEA 的代码生成插件,支持快速生成 MyBatis 的实体类、Mapper 接口、Service 层、Controller 层等代码。以下是整合步骤及模板语法详解:
一、整合 IDEA 与 EasyCode
- 安装插件
- 打开 IDEA →
File
→Settings
→Plugins
→ Marketplace。 - 搜索 EasyCode 并安装,重启 IDEA 生效。
- 打开 IDEA →
- 配置EasyCode
-
依json的形式导入模板数据。
-
定义参数类型
-
修改模板内容
-
定义全局变量
-
配置数据源
- 右侧工具栏打开
Database
→ 添加数据库连接(如 MySQL)。 - 填写数据库 URL、用户名、密码,测试连接成功后点击确定。
- 右侧工具栏打开
-
生成代码
-
右键数据库表 →
EasyCode
→Generate Code
。 -
-
选择生成路径(如
src/main/java
)和代码类型(Entity、Mapper、Service 等),并选择模板。 -
-
点击生成,自动生成对应文件。
-
注:
二、EasyCode 模板语法详解
EasyCode 使用 Velocity 模板引擎,支持动态生成代码。以下是关键语法和内置变量:
1. 基础变量与语法
## 注释语法
# 单行注释
#* 多行注释 *#
## 变量引用
${变量名}
## 示例:表名转实体类名
${table.name} → User → ${table.name} → User
${table.name} → user_info → ${table.name} → UserInfo(自动驼峰命名)
2. 核心内置变量
变量名 | 说明 | 示例值 |
---|---|---|
table.name | 数据库表名(原始格式) | user / user_info |
table.comment | 表注释 | 用户信息表 |
table.entityName | 实体类名(驼峰命名) | User / UserInfo |
table.pkColumn | 主键字段对象 | 包含字段名、类型、注释等信息 |
columns | 所有字段列表(List) | 遍历字段生成属性 |
column.name | 字段名(原始格式) | user_name |
column.comment | 字段注释 | 用户名 |
column.type | 数据库字段类型 | varchar / int |
column.javaType | 对应的 Java 类型(可配置映射) | String / Integer |
column.propertyName | 实体类属性名(驼峰命名) | userName |
3. 条件判断与循环
## 循环遍历字段生成属性
#foreach($column in $columns)
private ${column.javaType} ${column.propertyName}; // ${column.comment}
#end
## 条件判断:仅处理非主键字段
#foreach($column in $columns)
#if(!${column.isPk})
private ${column.javaType} ${column.propertyName};
#end
#end
4. 函数与工具类
EasyCode 提供内置工具类 ToolUtil
,支持字符串处理:
## 首字母大写
${ToolUtil.firstUpperCase("user")} → User
## 驼峰命名转换
${ToolUtil.hump("user_name")} → userName
## 去除表前缀(需在配置中设置)
${ToolUtil.removePrefix("sys_user", "sys_")} → user
5. 自定义模板示例
实体类模板(Entity.java.vm):
package ${package.Entity};
import lombok.Data;
@Data
public class ${table.entityName} {
#foreach($column in $columns)
/** ${column.comment} */
private ${column.javaType} ${column.propertyName};
#end
}
Mapper 接口模板(Mapper.java.vm):
package ${package.Mapper};
import ${package.Entity}.${table.entityName};
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface ${table.entityName}Mapper extends BaseMapper<${table.entityName}> {
}
Service 模板(Service.java.vm):
package ${package.Service};
import ${package.Entity}.${table.entityName};
public interface ${table.entityName}Service {
// 自定义方法
}
三、高级配置
-
自定义类型映射
- 打开
Settings
→EasyCode
→Type Mapper
。 - 修改数据库类型与 Java 类型对应关系(如
varchar
→String
)。
- 打开
-
全局变量配置
- 在
Settings
→EasyCode
→Template Settings
中配置包路径等公共变量:package.Entity=com.example.entity package.Mapper=com.example.mapper
- 在
-
自定义模板组
- 复制默认模板组,按需修改或新增模板文件(如
Controller.java.vm
)。
- 复制默认模板组,按需修改或新增模板文件(如
四、常见问题
-
模板不生效
- 检查模板文件后缀是否为
.vm
,且路径正确(Settings
→EasyCode
→Template Settings
)。
- 检查模板文件后缀是否为
-
字段类型错误
- 确认数据库驱动版本和类型映射配置(如 MySQL 的
datetime
映射为LocalDateTime
)。
- 确认数据库驱动版本和类型映射配置(如 MySQL 的
-
Lombok 支持
- 在实体类模板中添加
@Data
注解,并确保项目已引入 Lombok 依赖。
- 在实体类模板中添加
以下是自己常用的一个easycode模板:
链接: https://pan.baidu.com/s/15p488RnR1rE1AZT3C0WbZw 提取码: arec
复制这段内容后打开百度网盘手机App,操作更方便哦