# 代码模板
模板使用参考扩展文档: http://zhuyizhuo.online/code-generator-doc/guide/extension.html (opens new window)
项目目前采用的 Freemarker 模板,模板语法参考 Freemarker 模板语法。
# 模板片段
# 遍历所有字段
<#list mybatisXmlDefinition.columns as colm>
<#if colm??>
<#if colm_has_next>
${colm.columnName},
<#else>
${colm.columnName}
</#if>
</#if>
</#list>
# 获取表名
${tableInfo.tableName}
# 迭代主键
<#list tableInfo.primaryKeyColumns as colm>
${colm.columnName} ${colm.javaColumnName}
</#list>
# 普通模板
# Model 模板
package ${javaClassDefinition.MODEL.fullPackage};
<#list tableInfo.importPackages as import>
<#if import??>
import ${import};
</#if>
</#list>
/**
* ${tableInfo.tableComment} <br/>
*
* @author ${classCommentInfo.author} <br/>
* @since ${classCommentInfo.sinceVersion} <br/>
*/
public class ${javaClassDefinition.MODEL.className} {
<#list tableInfo.columnLists as colm>
<#if colm??>
/** ${colm.columnComment} */
private ${colm.javaDataType} ${colm.javaColumnName};
</#if>
</#list>
<#list tableInfo.columnLists as colm>
<#if colm??>
public ${colm.javaDataType} get${colm.javaColumnName?cap_first}() {
return ${colm.javaColumnName};
}
public void set${colm.javaColumnName?cap_first}(${colm.javaDataType} ${colm.javaColumnName}) {
this.${colm.javaColumnName} = ${colm.javaColumnName};
}
</#if>
</#list>
}
# VO 模板
package ${javaClassDefinition.VO.fullPackage};
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
<#list tableInfo.importPackages as import>
<#if import??>
import ${import};
</#if>
</#list>
/**
* ${tableInfo.tableComment} <br/>
*
* @author ${classCommentInfo.author} <br/>
* @since ${classCommentInfo.sinceVersion} <br/>
*/
@Data
public class ${javaClassDefinition.VO.className} implements Serializable {
private static final long serialVersionUID=1L;
<#list tableInfo.columnLists as colm>
<#if colm??>
/** ${colm.columnComment} */
@ApiModelProperty(value = "${colm.columnComment}")
private ${colm.javaDataType} ${colm.javaColumnName};
</#if>
</#list>
}
# Mybatis Plus 模板
# Mapper 模板
package ${javaClassDefinition.MAPPER.fullPackage};
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import ${javaClassDefinition.MODEL.fullPackage}.${javaClassDefinition.MODEL.className};
import org.apache.ibatis.annotations.Mapper;
/**
* ${tableInfo.tableComment} Mapper
*
* @author ${classCommentInfo.author} <br/>
* @since ${classCommentInfo.sinceVersion} <br/>
*/
@Mapper
public interface ${javaClassDefinition.MAPPER.className} extends BaseMapper<${javaClassDefinition.MODEL.className}> {
}
# Model 模板
package ${javaClassDefinition.MODEL.fullPackage};
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
<#list tableInfo.importPackages as import>
<#if import??>
import ${import};
</#if>
</#list>
/**
* ${tableInfo.tableComment} <br/>
*
* @author ${classCommentInfo.author} <br/>
* @since ${classCommentInfo.sinceVersion} <br/>
*/
@TableName("${tableInfo.tableName}")
public class ${javaClassDefinition.MODEL.className} implements Serializable {
private static final long serialVersionUID=1L;
<#list tableInfo.primaryKeyColumns as colm>
<#if colm??>
/** ${colm.columnComment} */
@TableId
private ${colm.javaDataType} ${colm.javaColumnName};
</#if>
</#list>
<#list tableInfo.columnLists as colm>
<#if colm??>
<#if (colm_index >= tableInfo.primaryKeyColumns?size)>
/** ${colm.columnComment} */
private ${colm.javaDataType} ${colm.javaColumnName};
</#if>
</#if>
</#list>
<#list tableInfo.columnLists as colm>
<#if colm??>
public ${colm.javaDataType} get${colm.javaColumnName?cap_first}() {
return ${colm.javaColumnName};
}
public void set${colm.javaColumnName?cap_first}(${colm.javaDataType} ${colm.javaColumnName}) {
this.${colm.javaColumnName} = ${colm.javaColumnName};
}
</#if>
</#list>
}
# Service 模板
package ${javaClassDefinition.SERVICE.fullPackage};
import com.baomidou.mybatisplus.extension.service.IService;
import ${javaClassDefinition.MODEL.fullPackage}.${javaClassDefinition.MODEL.className};
/**
* ${tableInfo.tableComment} Service
*
* @author ${classCommentInfo.author} <br/>
* @since ${classCommentInfo.sinceVersion} <br/>
*/
public interface ${javaClassDefinition.SERVICE.className} extends IService<${javaClassDefinition.MODEL.className}> {
}
# Service Impl 模板
package ${javaClassDefinition.SERVICE_IMPL.fullPackage};
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import ${javaClassDefinition.MAPPER.fullPackage}.${javaClassDefinition.MAPPER.className};
import ${javaClassDefinition.MODEL.fullPackage}.${javaClassDefinition.MODEL.className};
import ${javaClassDefinition.SERVICE.fullPackage}.${javaClassDefinition.SERVICE.className};
/**
* ${tableInfo.tableComment} Service 实现类
*
* @author ${classCommentInfo.author} <br/>
* @since ${classCommentInfo.sinceVersion} <br/>
*/
@Service("${javaClassDefinition.MODEL.className?uncap_first}")
public class ${javaClassDefinition.SERVICE_IMPL.className} extends ServiceImpl<${javaClassDefinition.MAPPER.className}, ${javaClassDefinition.MODEL.className}> implements ${javaClassDefinition.SERVICE.className} {
}
# xml 模板
<?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="${mybatisXmlDefinition.nameSpace}">
<resultMap id="${mybatisXmlDefinition.resultMap.id}" type="${mybatisXmlDefinition.resultMap.type}">
<#list mybatisXmlDefinition.columns as colm>
<#if colm??>
<#if colm.primaryKey>
<id column="${colm.columnName}" property="${colm.javaColumnName}"/>
<#else>
<result column="${colm.columnName}" property="${colm.javaColumnName}"/>
</#if>
</#if>
</#list>
</resultMap>
</mapper>
← 完整配置