EasyCode tk.mybatis swagger mysql 通用模板

1.实体类

##引入宏定义
$!define
#set($entityName = $tableInfo.name.substring(1))
##使用宏定义设置回调(保存位置与文件后缀)
#save("/entity", ".java")
$!callback.setFileName($tool.append($entityName, ".java"))
##使用宏定义设置包后缀
#setPackageSuffix("entity")

##使用全局变量实现默认包导入
$!autoImport
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

##使用宏定义实现类注释信息
#tableComment("实体类")
@Table(name = "$tableInfo.obj.name")
@Data
@ApiModel(value = "$!{entityName})", description = "$!{tableInfo.comment}")
public class $!{entityName} implements Serializable {
    private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
    #if(${column.comment})/**
    * ${column.comment}
    */#end
    @Column(name = "$column.obj.name")
    @ApiModelProperty(value = "${column.comment}")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    
#end

}

2.mapper

##定义初始变量
#set($entityName = $tableInfo.name.substring(1))
#set($tableName = $tool.append($entityName, "Mapper"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/mapper"))


#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}mapper;
import tk.mybatis.mapper.common.BaseMapper;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name.substring(1)};
import java.util.List;
import org.apache.ibatis.annotations.Mapper;

/**
 * $!{tableInfo.comment}($!{entityName})表数据库访问层
 * 
 * @author $!author
 * @since $!time.currTime()
 */
@Mapper
public interface $!{tableName} extends BaseMapper<$!{entityName}> {
}

3.service

##定义初始变量
#set($entityName = $tableInfo.name.substring(1))
#set($tableName = $tool.append($entityName, "Service"))

##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service"))

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}service;
import org.springframework.beans.factory.annotation.Autowired;
import com.zjf.fmall.mapper.$!{entityName}Mapper
import org.springframework.stereotype.Service;
import $!{tableInfo.savePackageName}.entity.$!{entityName};
import java.util.List;
import java.time.LocalDateTime;

/**
 * $!{tableInfo.comment}($!{entityName})表服务接口
 *
 * @author $!author
 * @since $!time.currTime()
 */
@Service
public class $!{tableName} {
    @Autowired
    private $!{entityName}Mapper $!tool.firstLowerCase($entityName)Mapper;

    /**
     * 插入$!{tableInfo.comment}
     *
     * @param $!tool.firstLowerCase($entityName) $!{tableInfo.comment}
     * @return {@link JsonResult}
     */
    public JsonResult insert($!{entityName} $!tool.firstLowerCase($entityName)){
        $!{tool.firstLowerCase($entityName)}.setId(StringUtil.getUUID());
        $!{tool.firstLowerCase($entityName)}Mapper.insertSelective($!tool.firstLowerCase($entityName));
        return JsonResult.success();
    }

    /**
     * 更新$!{tableInfo.comment}
     *
     * @param $!tool.firstLowerCase($entityName) $!{tableInfo.comment}
     * @return {@link JsonResult}
     */
    public JsonResult update($!{entityName} $!tool.firstLowerCase($entityName)){
        $!{tool.firstLowerCase($entityName)}.setUpdateTime(LocalDateTime.now());
        $!{tool.firstLowerCase($entityName)}Mapper.updateByPrimaryKeySelective($!tool.firstLowerCase($entityName));
        return JsonResult.success();
    }

    /**
     * 删除$!{tableInfo.comment}
     *
     * @param id 编号
     * @return {@link JsonResult}
     */
    public JsonResult remove(String id){
        $!{tool.firstLowerCase($entityName)}Mapper.deleteByPrimaryKey(id);
        return JsonResult.success();
    }

    /**
     * 查询一条
     *
     * @param  $!tool.firstLowerCase($entityName) $!{tableInfo.comment}
     * @return {@link JsonResult}
     */
    public JsonResult findOne($!{entityName} $!tool.firstLowerCase($entityName)){
        return JsonResult.success($!{tool.firstLowerCase($entityName)}Mapper.selectOne($!tool.firstLowerCase($entityName)));
    }
}

4.controller

##定义初始变量
#set($tableName = $tool.append($tableInfo.name.substring(1), "Controller"))
#set($entityName = $tableInfo.name.substring(1))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/controller"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}controller;

import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * $!{tableInfo.comment}($!{entityName})表控制层
 *
 * @author $!author
 * @since $!time.currTime()
 */
@RestController
@RequestMapping("$!tool.firstLowerCase($entityName)")
public class $!{tableName} {
    /**
     * 服务对象
     */
    @Autowired
    private $!{entityName}Service $!tool.firstLowerCase($entityName)Service;


}
### 回答1: easycode define.vm是一个默认的模板文件,它被EasyCode插件用于生成代码的定义。在EasyCode中,我们可以定义各种各样的代码模板,用于快速生成项目中常用的代码片段。而define.vm就是其中一个默认的模板文件。 在define.vm中,我们可以定义代码的结构和格式。比如,我们可以定义类的声明部分、属性部分、方法部分等。这样,在生成代码时,EasyCode插件会根据我们定义的模板文件,自动生成相应的代码。 除了定义代码结构,define.vm还可以定义一些替换变量。这些变量可以根据用户的输入值来替换成相应的内容,从而实现代码片段的定制化。比如,我们可以定义一个${className}的变量,用于替换生成类名的地方。 另外,define.vm可以与其他模板文件进行组合使用。通过定义不同的模板文件,我们可以根据具体的需求生成不同的代码片段。比如,我们可以定义一个entity.vm模板用于生成实体类的代码,然后再定义一个service.vm模板用于生成服务类的代码。这样,我们就可以根据需要选择不同的模板文件,来生成不同种类的代码。 总的来说,easycode define.vm默认模板EasyCode插件中用于生成代码的一种默认模板文件。通过定义结构和替换变量,我们可以定制化生成各种常用代码片段。同时,define.vm也支持与其他模板文件组合使用,用于生成不同类型的代码。 ### 回答2: default模板EasyCode工具在生成代码时使用的一种默认模板。它是根据EasyCode开发团队的经验和最佳实践所设计的,旨在提供一种简洁、易理解和易于修改的代码生成模板。 define.vm是default模板中的一个首要部分,它用于定义需要生成的模块和类的基本信息。在这个模板中,我们可以指定模块的名称、路径、包名等等。 通过定义define.vm,我们可以指定生成代码所属的模块、类的名称以及其他必要的信息。当我们使用EasyCode工具生成代码时,会根据define.vm中的定义生成相应的代码文件,并将指定的参数填充到生成代码中。 通过使用default模板和define.vm,我们可以快速生成符合规范和标准的代码,并且省去了重复编写一些重复的代码的时间和精力。同时,我们也可以根据项目的需求自定义和修改default模板和define.vm,以满足自己的需求和项目的特殊要求。 总之,default模板中的define.vm是EasyCode工具在生成代码时的一个必要组成部分,它定义了代码生成的基本信息和参数,帮助我们快速生成规范和标准的代码,并提高开发效率。 ### 回答3: EasyCode是一款基于IntelliJ IDEA开发环境的代码生成插件,它提供了多种默认模板,其中包括define.vm模板。define.vm模板是用于定义代码生成中需要的变量和方法的模板。 在define.vm模板中,我们可以自定义各种变量,如类名、包名、属性名等,通过在模板中定义这些变量,可以实现自动替换生成代码中对应的地方。我们可以使用`${变量名}`的形式在模板中引用这些变量。 此外,define.vm模板还可以定义生成代码时所需的方法。比如,我们可以定义一个生成get和set方法的方法,然后在模板中调用这个方法来生成相应的代码块。这样一来,我们就可以通过简单的代码模板定义,生成出包含一些常用方法的类。 通过使用define.vm模板,我们可以减少手动编写重复代码的工作量,提高开发效率。同时,由于模板的灵活性,我们还可以根据项目的需求进行修改和扩展,以满足不同的业务逻辑和代码风格要求。 总之,easycode的define.vm默认模板是用于定义代码生成中所需的变量和方法的模板,通过在模板中定义变量,我们可以实现自动替换生成代码中对应的地方,通过定义方法,我们可以生成一些常用的代码块,从而提高开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值