• MyBatisPlus代码生成器官方默认模板(vm)


    转自:MyBatis-Plus代码生成器官方默认模板(vm) - 覆手为云p - 博客园 (cnblogs.com)

    模板引擎是 velocity(默认引擎)

    自己可根据需要稍作修改,如果要大改则需要去看模板引擎的语法了。

    1、entity.java.vm

    复制代码
    package ${package.Entity};
    
    #foreach($pkg in ${table.importPackages})
    import ${pkg};
    #end
    #if(${swagger2})
    import io.swagger.annotations.ApiModel;
    import io.swagger.annotations.ApiModelProperty;
    #end
    #if(${entityLombokModel})
    import lombok.Data;
    import lombok.EqualsAndHashCode;
    #if(${chainModel})
    import lombok.experimental.Accessors;
    #end
    #end
    
    /**
     * <p>
     * $!{table.comment}
     * </p>
     *
     * @author ${author}
     * @since ${date}
     */
    #if(${entityLombokModel})
    @Data
      #if(${superEntityClass})
    @EqualsAndHashCode(callSuper = true)
      #else
    @EqualsAndHashCode(callSuper = false)
      #end
      #if(${chainModel})
    @Accessors(chain = true)
      #end
    #end
    #if(${table.convert})
    @TableName("${table.name}")
    #end
    #if(${swagger2})
    @ApiModel(value="${entity}对象", description="$!{table.comment}")
    #end
    #if(${superEntityClass})
    public class ${entity} extends ${superEntityClass}#if(${activeRecord})<${entity}>#end {
    #elseif(${activeRecord})
    public class ${entity} extends Model<${entity}> {
    #else
    public class ${entity} implements Serializable {
    #end
    
    #if(${entitySerialVersionUID})
        private static final long serialVersionUID=1L;
    #end
    ## ----------  BEGIN 字段循环遍历  ----------
    #foreach($field in ${table.fields})
    
    #if(${field.keyFlag})
    #set($keyPropertyName=${field.propertyName})
    #end
    #if("$!field.comment" != "")
      #if(${swagger2})
        @ApiModelProperty(value = "${field.comment}")
      #else
        /**
         * ${field.comment}
         */
      #end
    #end
    #if(${field.keyFlag})
    ## 主键
      #if(${field.keyIdentityFlag})
        @TableId(value = "${field.annotationColumnName}", type = IdType.AUTO)
      #elseif(!$null.isNull(${idType}) && "$!idType" != "")
        @TableId(value = "${field.annotationColumnName}", type = IdType.${idType})
      #elseif(${field.convert})
        @TableId("${field.annotationColumnName}")
      #end
    ## 普通字段
    #elseif(${field.fill})
    ## -----   存在字段填充设置   -----
      #if(${field.convert})
        @TableField(value = "${field.annotationColumnName}", fill = FieldFill.${field.fill})
      #else
        @TableField(fill = FieldFill.${field.fill})
      #end
    #elseif(${field.convert})
        @TableField("${field.annotationColumnName}")
    #end
    ## 乐观锁注解
    #if(${versionFieldName}==${field.name})
        @Version
    #end
    ## 逻辑删除注解
    #if(${logicDeleteFieldName}==${field.name})
        @TableLogic
    #end
        private ${field.propertyType} ${field.propertyName};
    #end
    ## ----------  END 字段循环遍历  ----------
    
    #if(!${entityLombokModel})
    #foreach($field in ${table.fields})
      #if(${field.propertyType.equals("boolean")})
        #set($getprefix="is")
      #else
        #set($getprefix="get")
      #end
    
        public ${field.propertyType} ${getprefix}${field.capitalName}() {
            return ${field.propertyName};
        }
    
      #if(${chainModel})
        public ${entity} set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
      #else
        public void set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
      #end
            this.${field.propertyName} = ${field.propertyName};
      #if(${chainModel})
            return this;
      #end
        }
    #end
    ## --foreach end---
    #end
    ## --end of #if(!${entityLombokModel})--
    
    #if(${entityColumnConstant})
      #foreach($field in ${table.fields})
        public static final String ${field.name.toUpperCase()} = "${field.name}";
    
      #end
    #end
    #if(${activeRecord})
        @Override
        protected Serializable pkVal() {
      #if(${keyPropertyName})
            return this.${keyPropertyName};
      #else
            return null;
      #end
        }
    
    #end
    #if(!${entityLombokModel})
        @Override
        public String toString() {
            return "${entity}{" +
      #foreach($field in ${table.fields})
        #if($!{foreach.index}==0)
            "${field.propertyName}=" + ${field.propertyName} +
        #else
            ", ${field.propertyName}=" + ${field.propertyName} +
        #end
      #end
            "}";
        }
    #end
    }
    复制代码

    2、controller.java.vm

    复制代码
    package ${package.Controller};
    
    
    import org.springframework.web.bind.annotation.RequestMapping;
    
    #if(${restControllerStyle})
    import org.springframework.web.bind.annotation.RestController;
    #else
    import org.springframework.stereotype.Controller;
    #end
    #if(${superControllerClassPackage})
    import ${superControllerClassPackage};
    #end
    
    /**
     * <p>
     * $!{table.comment} 前端控制器
     * </p>
     *
     * @author ${author}
     * @since ${date}
     */
    #if(${restControllerStyle})
    @RestController
    #else
    @Controller
    #end
    @RequestMapping("#if(${package.ModuleName})/${package.ModuleName}#end/#if(${controllerMappingHyphenStyle})${controllerMappingHyphen}#else${table.entityPath}#end")
    #if(${kotlin})
    class ${table.controllerName}#if(${superControllerClass}) : ${superControllerClass}()#end
    
    #else
    #if(${superControllerClass})
    public class ${table.controllerName} extends ${superControllerClass} {
    #else
    public class ${table.controllerName} {
    #end
    
    }
    
    #end
    复制代码

    3、service.java.vm

    复制代码
    package ${package.Service};
    
    import ${package.Entity}.${entity};
    import ${superServiceClassPackage};
    
    /**
     * <p>
     * $!{table.comment} 服务类
     * </p>
     *
     * @author ${author}
     * @since ${date}
     */
    #if(${kotlin})
    interface ${table.serviceName} : ${superServiceClass}<${entity}>
    #else
    public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {
    
    }
    #end
    复制代码

    4、serviceImpl.java.vm

    复制代码
    package ${package.ServiceImpl};
    
    import ${package.Entity}.${entity};
    import ${package.Mapper}.${table.mapperName};
    import ${package.Service}.${table.serviceName};
    import ${superServiceImplClassPackage};
    import org.springframework.stereotype.Service;
    
    /**
     * <p>
     * $!{table.comment} 服务实现类
     * </p>
     *
     * @author ${author}
     * @since ${date}
     */
    @Service
    #if(${kotlin})
    open class ${table.serviceImplName} : ${superServiceImplClass}<${table.mapperName}, ${entity}>(), ${table.serviceName} {
    
    }
    #else
    public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}> implements ${table.serviceName} {
    
    }
    #end
    复制代码

    5、mapper.java.vm

    复制代码
    package ${package.Mapper};
    
    import ${package.Entity}.${entity};
    import ${superMapperClassPackage};
    
    /**
     * <p>
     * $!{table.comment} Mapper 接口
     * </p>
     *
     * @author ${author}
     * @since ${date}
     */
    #if(${kotlin})
    interface ${table.mapperName} : ${superMapperClass}<${entity}>
    #else
    public interface ${table.mapperName} extends ${superMapperClass}<${entity}> {
    
    }
    #end
    复制代码

    6、mapper.xml.vm

    复制代码
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="${package.Mapper}.${table.mapperName}">
    
    #if(${enableCache})
        <!-- 开启二级缓存 -->
        <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
    
    #end
    #if(${baseResultMap})
        <!-- 通用查询映射结果 -->
        <resultMap id="BaseResultMap" type="${package.Entity}.${entity}">
    #foreach($field in ${table.fields})
    #if(${field.keyFlag})##生成主键排在第一位
            <id column="${field.name}" property="${field.propertyName}" />
    #end
    #end
    #foreach($field in ${table.commonFields})##生成公共字段
            <result column="${field.name}" property="${field.propertyName}" />
    #end
    #foreach($field in ${table.fields})
    #if(!${field.keyFlag})##生成普通字段
            <result column="${field.name}" property="${field.propertyName}" />
    #end
    #end
        </resultMap>
    
    #end
    #if(${baseColumnList})
        <!-- 通用查询结果列 -->
        <sql id="Base_Column_List">
    #foreach($field in ${table.commonFields})
            ${field.columnName},
    #end
            ${table.fieldNames}
        </sql>
    
    #end
    </mapper>
     
  • 相关阅读:
    android系统平台显示驱动开发简要:LCD基本原理篇『一』
    友好博客集
    Linux内核OOM机制的详细分析
    api
    AOSP
    Android 开发之 ---- 底层驱动开发(一)
    液晶常用接口“LVDS、TTL、RSDS、TMDS”技术原理介绍
    S5P4418 uboot 分析
    android SharedPreferences apply和commit的区别
    HTTPConnection与HTTPClient的区别
  • 原文地址:https://www.cnblogs.com/nanfei/p/16186377.html
Copyright © 2020-2023  润新知