你的模板是别人的利器
LEMUR Gen
一个通用版本的代码生成器,不单单局限于自己用,可以分享,可以浏览别人的代码 好的代码是可以共享,好的代码也是促进开发的!
Get Started
克隆
Model模板
<%if (t.isProtocol == 1) {%> ${g.copyright!} <%}%> package ${g.codePackage}.model; import cn.afterturn.boot.bussiness.model.IdTenantBaseModel; import com.baomidou.mybatisplus.annotation.*; import java.util.Date; import lombok.Data; <%if (t.api == 1) {%> import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; <%}%> <%if (t.isImport == 1 || t.isExport == 1) {%> import cn.afterturn.easypoi.excel.annotation.Excel; <%}%> /** * ${g.name} * * @author ${g.author} * @Date ${g.date} */ @Data <%if (t.api == 1) {%> @ApiModel("${g.name}") <%}%> @TableName(value = "${g.tableName}", resultMap = ${g.entityName}Model .BASE_RESULT_MAP) public class ${g.entityName}Model extends IdTenantBaseModel<${g.entityName}Model> { private static final long serialVersionUID = 1L; <%for(field in t.fields){%> <%if (isNotEmpty (field.comment) && strutil.length(field.comment) > 0) {%> /** *${field.comment} **/ <%}%> <%if (t.isImport == 1 || t.isExport == 1) {%> @Excel(name = "${field.chinaName}") <%}%> <%if (field.name == g.idName) {%> @TableId(value = "${g.idName}",type = IdType.AUTO) <%}else{%> @TableField(value="${field.fieldName}" <%if (field.type == 'String') {%>, strategy = FieldStrategy.NOT_EMPTY<%}%> <%if (field.queryMode == 7) {%>, condition = SqlCondition.LIKE<%}%>) <%}%> <%if (t.api == 1) {%> @ApiModelProperty("${field.chinaName}") <%}%> private ${field.type} ${field.name}; <%}%> }
Mapping模板
<%for(field in t.fields){%>
<%}%>
<%for(field in t.fields){%>
AND t.${strutil.toUpperCase(field.fieldName)} = #{ew.entity.${field.name}}
<%}%>
Repository模板
<%if (t.isProtocol == 1) {%> ${g.copyright!} <%}%> package ${g.codePackage}.repository; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import ${g.codePackage}.model.${g.entityName}Model; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; /** * ${g.entityName}持久化 * * @author ${g.author} * @Date ${g.date} */ @Repository public interface ${g.entityName}Repository extends BaseMapper<${g.entityName}Model>{ }
ServiceImpl模板
<%if (t.isProtocol == 1) {%> ${g.copyright!} <%}%> package ${g.codePackage}.service.impl; import ${g.codePackage}.repository.${g.entityName}Repository; import ${g.codePackage}.model.${g.entityName}Model; import ${g.codePackage}.service.I${g.entityName}Service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.afterturn.boot.bussiness.base.service.BaseServiceCacheImpl; import java.util.List; import java.util.Map; /** * ${g.name}服务实现 * * @author ${g.author} * @Date ${g.date} */ @Service("${g.lowerEntityName}Service") public class ${g.entityName}ServiceImpl extends BaseServiceCacheImpl<${g.entityName}Repository, ${g.entityName}Model> implements I${g.entityName}Service { private static final Logger LOGGER = LoggerFactory.getLogger(${g.entityName}ServiceImpl.class); @Autowired private ${g.entityName}Repository ${g.lowerEntityName}Repository; }
IService模板
<%if (t.isProtocol == 1) {%> ${g.copyright!} <%}%> package ${g.codePackage}.service; import ${g.codePackage}.model.${g.entityName}Model; import cn.afterturn.boot.bussiness.base.service.IBaseService; /** * ${g.name}服务 * * @author ${g.author} * @Date ${g.date} */ public interface I${g.entityName}Service extends IBaseService<${g.entityName}Model> { }
Controller模板
<%if (t.isProtocol == 1) {%> ${g.copyright!} <%}%> package ${g.codePackage}.controller; import cn.afterturn.boot.bussiness.base.controller.BaseController; import ${g.codePackage}.model.${g.entityName}Model; import ${g.codePackage}.service.I${g.entityName}Service; import cn.afterturn.boot.facade.I${g.entityName}Facade; <%if (t.api == 1) {%> import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; <%}%> import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * ${g.name}控制器 * * @author ${g.author} * @Date ${g.date} */ <%if (t.api == 1) {%> @Api("${g.name}") <%}%> @RestController @RequestMapping("/${strutil.toLowerCase(g.entityName)}") public class ${g.entityName}Controller extends BaseController
implements I${g.entityName}Facade { private static final Logger LOGGER = LoggerFactory.getLogger(${g.entityName}Controller.class); @Autowired private I${g.entityName}Service ${g.lowerEntityName}Service; }
Facade模板
<%if (t.isProtocol == 1) {%> ${g.copyright!} <%}%> package cn.afterturn.boot.facade; import org.springframework.cloud.openfeign.FeignClient; /** * ${g.name}接口 * * @author ${g.author} * @Date ${g.date} */ @FeignClient(value = "${g.lowerEntityName}Facade") public interface I${g.entityName}Facade { }
info.page
${g.name}
<%for(field in t.fields){%>
<%}%>
取消
提交
list.page
<%for(field in t.fields){%> <%if(field.isQuery == 1){%>
<%}}%>
搜索
新增
删除
<${strutil.toLowerCase(g.entityName)}Info ref="${strutil.toLowerCase(g.entityName)}InfoRef" >${strutil.toLowerCase(g.entityName)}Info>