Skip to content

Template Examples

Entity Class Template

velocity
package ${tableInfo.savePackageName};

#foreach($import in $importList)
import ${import};
#end

/**
 * ${tableInfo.comment}
 * 
 * @author ${author}
 * @since ${time.getCurrentTime()}
 */
public class ${tableInfo.name} {
    
    #foreach($column in $tableInfo.fullColumn)
    /**
     * ${column.comment}
     */
    private ${column.shortType} ${column.name};
    
    #end
    
    #foreach($column in $tableInfo.fullColumn)
    public ${column.shortType} get${tool.getClassName($column.name)}\() {
        return ${column.name};
    }
    
    public void set${tool.getClassName($column.name)}\(${column.shortType} ${column.name}) {
        this.${column.name} = ${column.name};
    }
    
    #end
}

MyBatis Mapper Template

velocity
<?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="${tableInfo.savePackageName}.${tableInfo.name}Mapper">

    <resultMap id="BaseResultMap" type="${tableInfo.savePackageName}.${tableInfo.name}">
        #foreach($column in $tableInfo.fullColumn)
        <result column="${column.name}" property="${column.name}" jdbcType="${column.jdbcType}"/>
        #end
    </resultMap>

    <sql id="Base_Column_List">
        #foreach($column in $tableInfo.fullColumn)
        ${column.name}#if($foreach.hasNext), #end
        #end
    </sql>

    <select id="selectByPrimaryKey" parameterType="$\{tableInfo.pkColumn.get(0).shortType\}" resultMap="BaseResultMap">
        select 
        <include refid="Base_Column_List" />
        from ${tableInfo.name}
        where ${tableInfo.pkColumn.get(0).name} = #${tableInfo.pkColumn.get(0).name}
    </select>

</mapper>

Service Interface Template

velocity
package ${tableInfo.savePackageName};

/**
 * ${tableInfo.comment} Service Interface
 * 
 * @author ${author}
 * @since ${time.getCurrentTime()}
 */
public interface ${tableInfo.name}Service {
    
    /**
     * Insert a new record
     */
    int insert(${tableInfo.name} record);
    
    /**
     * Select by primary key
     */
    ${tableInfo.name} selectByPrimaryKey(${tableInfo.pkColumn.get(0).shortType} id);
    
    /**
     * Update by primary key
     */
    int updateByPrimaryKey(${tableInfo.name} record);
    
    /**
     * Delete by primary key
     */
    int deleteByPrimaryKey(${tableInfo.pkColumn.get(0).shortType} id);
}

Controller Template

velocity
package ${tableInfo.savePackageName};

import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * ${tableInfo.comment} Controller
 * 
 * @author ${author}
 * @since ${time.getCurrentTime()}
 */
@RestController
@RequestMapping("${tool.getClassName($tableInfo.name, false)}")
public class ${tableInfo.name}Controller {
    
    @Autowired
    private ${tableInfo.name}Service ${tool.getClassName($tableInfo.name, false)}Service;
    
    @PostMapping
    public Result<${tableInfo.name}> insert(@RequestBody ${tableInfo.name} record) {
        int result = ${tool.getClassName($tableInfo.name, false)}Service.insert(record);
        return Result.success(record);
    }
    
    @GetMapping("/{id}")
    public Result<${tableInfo.name}> getById(@PathVariable ${tableInfo.pkColumn.get(0).shortType} id) {
        ${tableInfo.name} record = ${tool.getClassName($tableInfo.name, false)}Service.selectByPrimaryKey(id);
        return Result.success(record);
    }
}

Frontend API Template

velocity
// ${tableInfo.name} API
export const ${tool.getClassName($tableInfo.name, false)}Api = {
  // Get by ID
  getById: (id: ${tableInfo.pkColumn.get(0).shortType}) => 
    request.get<${tableInfo.name}>(`/api/${tool.getClassName($tableInfo.name, false)}/${id}`),
  
  // Create new record
  create: (data: ${tableInfo.name}) => 
    request.post<${tableInfo.name}>(`/api/${tool.getClassName($tableInfo.name, false)}`, data),
  
  // Update record
  update: (id: ${tableInfo.pkColumn.get(0).shortType}, data: ${tableInfo.name}) => 
    request.put<${tableInfo.name}>(`/api/${tool.getClassName($tableInfo.name, false)}/${id}`, data),
  
  // Delete record
  delete: (id: ${tableInfo.pkColumn.get(0).shortType}) => 
    request.delete(`/api/${tool.getClassName($tableInfo.name, false)}/${id}`),
  
  // List all records
  list: () => 
    request.get<${tableInfo.name}[]>(`/api/${tool.getClassName($tableInfo.name, false)}/list`)
};