代码生成配置

  1. EasyCode插件安装
    在IDEA的插件中查找EasyCode,点击安装。
    在这里插入图片描述
  2. 配置EasyCode全局信息
    在IDEA的setting中配置EasyCode,设置用户名(对应生成代码的@author字段),支持自定义以模板的导入和导出,用户可以自定义
    在这里插入图片描述
    配置Type Mapper:复制默认分组(default),生成一份自己的分组(MyGroup),然后在自己的分组上进行个性化修改。不建议直接修改default。
    columnType对应数据库表的字段类型,用正则表达式,详细的语法参考正则语法。
    javaType对应生成的Java Entity中属性的类型。
    同样可以点击+/-号添加/或删除映射关系。
    示例中数据库的timestamp类型和java.sql.Timestamp类对应

在这里插入图片描述

  1. 配置EasyCode的Velocity模板
    为每个Java类(Controller, ServiceImpl, Mapper, Entity)配置一个生成模板,配置使用Velocity语法。
    3.1 复制一个分组(MyBatisPlusWRB),本文复制的是MyBatisPlus模板。
    3.2 编辑模板,进行个性化定制,用到的属性和对象信息参考下方的说明文档。
    3.3 实时调试,关联一个已经建好的库表,点击右侧>符便可预览根据这张表生成的Java类。
    在这里插入图片描述
  2. 使用EasyCode生成Java类
    选中database连接中的一张(也可以按住Ctr键,选择多张表),右键选择"EasyCode-Generate Code",在对话框选择模板分组(默认或自定义的)。
    勾选要生成的Java类对应的模板和生成路径等信息,点击OK便可生成。
    在这里插入图片描述
  3. 个人模板分享
    下面分享一下我根据个人喜好配置的自定义MyBatisPlus模板

5.1 Service模块
##导入宏定义
$!{define.vm}

##设置表后缀(宏定义)
#setTableSuffix(“Service”)

##保存文件(宏定义)
#save(“/service”, “Service.java”)

##包路径(宏定义)
#setPackageSuffix(“service”)

import com.baomidou.mybatisplus.extension.service.IService;
import ! t a b l e I n f o . s a v e P a c k a g e N a m e . e n t i t y . !{tableInfo.savePackageName}.entity. !tableInfo.savePackageName.entity.!tableInfo.name;

##表注释(宏定义)
#tableComment(“表服务接口”)
public interface ! t a b l e N a m e e x t e n d s I S e r v i c e < !{tableName} extends IService< !tableNameextendsIService<!tableInfo.name> {

}

5.2 ServiceImpl模板
##导入宏定义
$!{define.vm}

##设置表后缀(宏定义)
#setTableSuffix(“ServiceImpl”)

##保存文件(宏定义)
#save(“/service/impl”, “ServiceImpl.java”)

##包路径(宏定义)
#setPackageSuffix(“service.impl”)

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import ! t a b l e I n f o . s a v e P a c k a g e N a m e . d a o . !{tableInfo.savePackageName}.dao. !tableInfo.savePackageName.dao.!{tableInfo.name}Dao;
import ! t a b l e I n f o . s a v e P a c k a g e N a m e . e n t i t y . !{tableInfo.savePackageName}.entity. !tableInfo.savePackageName.entity.!{tableInfo.name};
import ! t a b l e I n f o . s a v e P a c k a g e N a m e . s e r v i c e . !{tableInfo.savePackageName}.service. !tableInfo.savePackageName.service.!{tableInfo.name}Service;
import org.springframework.stereotype.Service;

##表注释(宏定义)
#tableComment(“表服务实现类”)
@Service
public class ! t a b l e N a m e e x t e n d s S e r v i c e I m p l < !{tableName} extends ServiceImpl< !tableNameextendsServiceImpl<!{tableInfo.name}Dao, $!{tableInfo.name}> implements $!{tableInfo.name}Service {

}

5.3 Mapper模型
##导入宏定义
$!{define.vm}

##设置表后缀(宏定义)
#setTableSuffix(“Dao”)

##保存文件(宏定义)
#save(“/dao”, “Dao.java”)

##包路径(宏定义)
#setPackageSuffix(“dao”)

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import ! t a b l e I n f o . s a v e P a c k a g e N a m e . e n t i t y . !{tableInfo.savePackageName}.entity. !tableInfo.savePackageName.entity.!{tableInfo.name}PO;
import org.apache.ibatis.annotations.Mapper;

##表注释(宏定义)
#tableComment(“表数据库访问层”)
@Mapper
public interface ! t a b l e N a m e e x t e n d s B a s e M a p p e r < !{tableName} extends BaseMapper< !tableNameextendsBaseMapper<!{tableInfo.name}PO> {
}
5.4 Entiy(Persistant Object)模板
##导入宏定义
$!{define.vm}

##设置表后缀(宏定义)
#setTableSuffix(“PO”)

##保存文件(宏定义)
#save(“/entity”, “PO.java”)

##包路径(宏定义)
#setPackageSuffix(“entity”)

##自动导入包(全局变量)
$!{autoImport.vm}
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.NoArgsConstructor;
import lombok.Data;

##表注释(宏定义)
#tableComment(“表实体类”)
@TableName(“ t o o l . h u m p 2 U n d e r l i n e ( tool.hump2Underline( tool.hump2Underline(tableInfo.name)”)
public class KaTeX parse error: Expected '}', got '#' at position 40: …Serializable { #̲#以第一个primary ke…column in KaTeX parse error: Expected 'EOF', got '#' at position 25: ….pkColumn) #̲set(pkColumn = $!column.name)
#break
#end

##输出每个字段
#foreach($column in KaTeX parse error: Expected 'EOF', got '#' at position 27: …ullColumn) #̲if({column.comment})
/**
* KaTeX parse error: Expected 'EOF', got '#' at position 29: …nt} */ #̲end #if({column.name} == p k C o l u m n ) @ T a b l e I d ( v a l u e = " {pkColumn}) @TableId(value = " pkColumn)@TableId(value="tool.hump2Underline(KaTeX parse error: Expected 'EOF', got '#' at position 45: …ASSIGN_ID) #̲end #if({column.name} != p k C o l u m n ) @ T a b l e F i e l d ( v a l u e = " {pkColumn}) @TableField(value = " pkColumn)@TableField(value="tool.hump2Underline($column.name)")
#end
private KaTeX parse error: Expected '}', got 'EOF' at end of input: …NameByFullName(column.type)} $!{column.name};

#end
##getset方法
#foreach($column in KaTeX parse error: Expected 'EOF', got '#' at position 23: …fo.fullColumn) #̲getSetMethod(column)
#end
}

参照链接:https://www.jianshu.com/p/63837909ca2b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值