Easy code模板

automatic

在这里插入图片描述在这里插入图片描述

##引入宏定义
$!define

##使用宏定义设置回调(保存位置与文件后缀)
#save("/domain", "DO.java")

##使用宏定义设置包后缀
#setPackageSuffix("domain")

##使用全局变量实现默认包导入
$!autoImport
import lombok.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import org.hibernate.annotations.GenericGenerator;
import java.io.Serializable;

##使用宏定义实现类注释信息
#tableComment("实体类")

@NoArgsConstructor
@Data
@Entity
@Table(name = "$tableInfo.obj.getName()")
@EntityListeners(AuditingEntityListener.class)
public class $!{tableInfo.name}DO implements Serializable {

    private static final long serialVersionUID = $!tool.serial();
    
#foreach($column in $tableInfo.fullColumn)

    #if(${column.comment})/**
    * ${column.comment}
    */
#end
    #if(${column.name} ==  "id")

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    #elseif(${column.obj.getName()} ==  "create_time")
@CreatedDate
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "$column.obj.getName()")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    #elseif(${column.obj.getName()} ==  "update_time")
@LastModifiedDate
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "$column.obj.getName()")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    #else
@Column(name = "$column.obj.getName()")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
#end
}
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Dao"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/mapper"))


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

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

import $!{tableInfo.savePackageName}.domain.$!{tableInfo.name}DO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层
 *
 * @Author 
 * @Date $!time.currTime("yyyy-MM-dd")
 */

public interface $!{tableInfo.name}Dao extends JpaRepository<$!{tableInfo.name}DO,Integer>,
        JpaSpecificationExecutor<$!{tableInfo.name}DO> {
}

注意事项:
1、关键字create是mysql系统的,jpa默认不添加引号,插入会报错,映射字段添加[]方括号代表mysql语句添加``;
2、时间需要指定合适;

    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

//    @Column(name = "create")
    @Column(name="[create]")
    private Integer create;

Controller

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Controller"))
##设置回调
$!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}.domain.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.cdftech.commons.utils.PageResult;
import net.cdftech.commons.utils.Pagination;
import net.cdftech.commons.utils.ResultUtil;
import net.cdftech.oam.coordination.utils.TokenUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import com.sun.istack.NotNull;

import javax.annotation.Resource;
import java.util.Map;

import static net.cdftech.commons.utils.ResultUtil.SUCCESS_STATE;
import static net.cdftech.commons.utils.ResultUtil.UNKNOWN_ERROR;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})控制层controller
 *
 * @Author 
 * @Date $!time.currTime("yyyy-MM-dd")
 */

@RestController
@ResponseBody
@CrossOrigin
@RequestMapping("/$!tool.firstLowerCase($tableInfo.name)")
@Api(value = "$!{tableInfo.comment}行为操作controller", tags = {"${tableInfo.comment}"})
public class $!tableName {

    @Resource
    private StringRedisTemplate stringRedisTemplate;
    @Autowired
    private $!{tableInfo.name}Service $!tool.firstLowerCase($tableInfo.name)Service;

    @ApiOperation(value = "分页查询$!{tableInfo.comment}", tags = {""}, notes = "")
    @RequestMapping(value = "/find$!tool.firstUpperCase($tableInfo.name)Page", method = RequestMethod.POST)
    public ResultUtil find$!tool.firstUpperCase($tableInfo.name)Page(@RequestBody @ApiParam(name = "jsonStr", value = "\n" +
            "{\n" +
            "\n" +
            "    \"condition\": {\n" +
            "        \"searchKey\": \"关键字 选填\",\n" +
            "        \"keyWord\": \"输入搜索内容 选填\",\n" +
            "    },\n" +
            "    \"pagination\": {\n" +
            "        \"currentPage\": \"当前页 必填\",\n" +
            "        \"pageSize\": \"页大小 必填\"\n" +
            "    },\n" +
            "    \"sort\": {\n" +
            "        \"column\": \"排序字段 选填\",\n" +
            "        \"dir\": \"排序 选填 desc倒叙 asc正序\"\n" +
            "    }\n" +
            "}\n" +
            "\n" +
            "{\n" +
            "\n" +
            "    \"condition\": {\n" +
            "        \"searchKey\": \"\",\n" +
            "        \"keyWord\": \"\",\n" +
            "    },\n" +
            "    \"pagination\": {\n" +
            "        \"currentPage\": 1,\n" +
            "        \"pageSize\": 9\n" +
            "    },\n" +
            "    \"sort\": {\n" +
            "        \"column\": \"\",\n" +
            "        \"dir\": \"\"\n" +
            "    }\n" +
            "}" +
            "") String jsonStr,@RequestHeader(value = "Authorization") @ApiParam(name = "authorization", value = "token", example = "Barere test") String authorization) {

        /**
         *@Description: 分页查询$!{tableInfo.comment}
         *@Author: 
         *@Date $!time.currTime("yyyy-MM-dd")
         *@param: [jsonStr, authorization]
         *@return net.cdftech.commons.utils.ResultUtil
         */

        Map<String, Object> map = TokenUtils.getRedisInfoFromRequest(stringRedisTemplate, authorization);
        ResultUtil resultUtil = new ResultUtil();

        JSONObject dataObject = JSON.parseObject(jsonStr);
        JSONObject condition = dataObject.getJSONObject("condition");
        JSONObject pagination = dataObject.getJSONObject("pagination");
        JSONObject sort = dataObject.getJSONObject("sort");

        int currentPage = pagination.getInteger("currentPage");
        int pageSize = pagination.getInteger("pageSize");
        String column = sort.getString("column");
        String dir = sort.getString("dir");
        if (column == null||column.equals("")) {
            column = "gmt_create";
        }
        if (dir == null||dir.equals("")) {
            dir = "desc";
        }
        String searchKey = condition.getString("searchKey");
        String keyWord = condition.getString("keyWord");

        try {
            resultUtil.setCode(SUCCESS_STATE);
            PageInfo<$!{tableInfo.name}> $!{tool.firstLowerCase($tableInfo.name)}PageInfo = $!{tool.firstLowerCase($tableInfo.name)}Service.query$!{tableInfo.name}PageData(currentPage, pageSize, column, dir, searchKey, keyWord);
            Pagination pagination1 = new Pagination();
            pagination1.setCurrentPage(currentPage);
            pagination1.setPageSize(pageSize);
            pagination1.setTotalNum((int) $!{tool.firstLowerCase($tableInfo.name)}PageInfo.getTotal());
            pagination1.setTotalPage($!{tool.firstLowerCase($tableInfo.name)}PageInfo.getPages());
            PageResult pageResult = new PageResult();
            pageResult.setPagination(pagination1);
            pageResult.setData($!{tool.firstLowerCase($tableInfo.name)}PageInfo.getList());
            resultUtil.setData(pageResult);
        } catch (Exception e) {
            resultUtil.setCode(UNKNOWN_ERROR);
            e.printStackTrace();
        }finally {
            return resultUtil;
        }
    }

    @ApiOperation(value = "查询$!{tableInfo.comment}详情", tags = {""}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "$!pk.name", value = "主键", dataType = "string", paramType = "query",required = true)})
    @RequestMapping(value = "/find$!tool.firstLowerCase($tableInfo.name)ById", method = RequestMethod.POST)
    public ResultUtil find$!tool.firstLowerCase($tableInfo.name)ById(@NotNull String id) {

        /**
         *@Description: 查询$!{tableInfo.comment}详情
         *@Author: 
         *@Date $!time.currTime("yyyy-MM-dd")
         *@param: [id]
         *@return net.cdftech.commons.utils.ResultUtil
         */

        ResultUtil resultUtil = new ResultUtil();

        try {
            resultUtil.setCode(SUCCESS_STATE);
            resultUtil.setData($!{tool.firstLowerCase($tableInfo.name)}Service.query$!{tableInfo.name}ById(id));
        } catch (Exception e) {
            resultUtil.setCode(UNKNOWN_ERROR);
            e.printStackTrace();
        }finally {
            return resultUtil;
        }
    }

    @ApiOperation(value = "$!{tableInfo.comment}($!{tableInfo.name})保存",tags = {""}, notes = "")
    @RequestMapping(value = "/save$!{tableInfo.name}", method = RequestMethod.POST)
    public ResultUtil save$!{tableInfo.name}(@RequestBody @ApiParam(name = "jsonStr", value = "{\n" +
    #foreach($column in $tableInfo.fullColumn)
        #if($!{tool.getClsNameByFullName($column.shortType)} ==  "String")

            "\"$!{column.name}\":\"${column.comment}\",\n"+
#else

            "\"$!{column.name}\":\"${column.comment}  ${column.shortType}\",\n"+
#end
#end
            "}", required = true) String jsonStr) {

        /**
         *@Description: $!{tableInfo.comment}($!{tableInfo.name})保存
         *@Author: 
         *@Date $!time.currTime("yyyy-MM-dd")
         *@param: [jsonStr]
         *@return net.cdftech.commons.utils.ResultUtil
         */


        ResultUtil resultUtil = new ResultUtil();
        try {
            resultUtil.setCode(SUCCESS_STATE);
            $!{tool.firstLowerCase($tableInfo.name)}Service.save$!{tableInfo.name}(jsonStr);
        } catch (Exception e) {
            resultUtil.setCode(UNKNOWN_ERROR);
            e.printStackTrace();
        }finally {
            return resultUtil;
        }
    }

    @ApiOperation(value = "删除资源错误数据", notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "主键", dataType = "string", paramType = "query",required = true)})
    @RequestMapping(value = "/del$!{tool.firstLowerCase($tableInfo.name)}ById", method = RequestMethod.POST)
    public ResultUtil del$!{tool.firstLowerCase($tableInfo.name)}ById(String id) {

        ResultUtil resultUtil = new ResultUtil();

        try {
            resultUtil.setCode(SUCCESS_STATE);
            $!{tool.firstLowerCase($tableInfo.name)}Service.delete$!{tableInfo.name}ById(id);
        } catch (Exception e) {
            resultUtil.setCode(UNKNOWN_ERROR);
            e.printStackTrace();
        }finally {
            return resultUtil;
        }
    }
    @ApiOperation(value = "增加资源测试数据", notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "num", value = "数量", dataType = "String", paramType = "query",required = true)})
    @RequestMapping(value = "/genData$!{tool.firstUpperCase($tableInfo.name)}", method = RequestMethod.POST)
    public ResultUtil genData$!{tool.firstUpperCase($tableInfo.name)}(int num) {

        ResultUtil resultUtil = new ResultUtil();

        try {
            resultUtil.setCode(SUCCESS_STATE);
            $!{tool.firstLowerCase($tableInfo.name)}Service.genData$!{tool.firstUpperCase($tableInfo.name)}(num);
        } catch (Exception e) {
            resultUtil.setCode(UNKNOWN_ERROR);
            e.printStackTrace();
        }finally {
            return resultUtil;
        }
    }
}

Domain

##引入宏定义
$!define

##使用宏定义设置回调(保存位置与文件后缀)
#save("/domain", ".java")

##使用宏定义设置包后缀
#setPackageSuffix("domain")

##使用全局变量实现默认包导入
$!autoImport
import lombok.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import org.hibernate.annotations.GenericGenerator;
import java.io.Serializable;

##使用宏定义实现类注释信息
#tableComment("实体类")

@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@Builder
@ToString
@DynamicUpdate
@DynamicInsert
@Entity
@Table(name = "$tableInfo.obj.getName()")
@EntityListeners(AuditingEntityListener.class)
public class $!{tableInfo.name} implements Serializable {

    private static final long serialVersionUID = $!tool.serial();
    
#foreach($column in $tableInfo.fullColumn)

    #if(${column.comment})/**
    * ${column.comment}
    */
#end
    #if(${column.name} ==  "id")
@Id
    @GenericGenerator(name = "system-uuid",strategy = "uuid")
    @GeneratedValue(generator = "system-uuid")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    #elseif(${column.obj.getName()} ==  "gmt_create")
@CreatedDate
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "$column.obj.getName()")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    #elseif(${column.obj.getName()} ==  "gmt_modified")
@LastModifiedDate
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "$column.obj.getName()")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    #else
@Column(name = "$column.obj.getName()")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
#end

    /**
      * $!{tableInfo.name} just for Test data
      **/
      
    public $!{tableInfo.name}(int i){
    #foreach($column in $tableInfo.fullColumn)
    #if($!{tool.getClsNameByFullName($column.type)} != "Date"&&(${column.obj.getName()} !=  "gmt_create"&&${column.obj.getName()} !=  "gmt_modified"))
        #if($!{tool.getClsNameByFullName($column.type)} ==  "int")

            $!{column.name} = i;
#else

            $!{column.name} = "${column.comment}"+i;
#end
    #end
#end

    }
}

Repository

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


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

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

import $!{tableInfo.savePackageName}.domain.$!{tableInfo.name};
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层
 *
 * @Author 
 * @Date $!time.currTime("yyyy-MM-dd")
 */
@Repository
public interface $!{tableInfo.name}Repository extends JpaRepository<$!{tableInfo.name},String>,
        JpaSpecificationExecutor<$!{tableInfo.name}> {}
}

Service

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "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 com.github.pagehelper.PageInfo;
import $!{tableInfo.savePackageName}.domain.$!{tableInfo.name};
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服务接口
 *
 * @Author 
 * @Date $!time.currTime("yyyy-MM-dd")
 */
public interface $!{tableName} {

    /**
     * 分页查询$!{tableName}数据
     *
     * @param currentPage 当前页
     * @param pageSize 页大小
     * @param sortColumn 排序字段 
     * @param dir 默认倒序 
     * @param searchKey 搜索关键字 
     * @param searchValue 搜索内容 %like% 
     * @return Page
     */
     PageInfo<$!{tableInfo.name}> query$!{tableInfo.name}PageData(int currentPage,int pageSize,String sortColumn,String dir,String searchKey,String searchValue);

    /**
     * 通过ID查询$!{tableName}单条数据
     *
     * @param $!pk.name 主键
     * @return 实例对象
     */
    $!{tableInfo.name} query$!{tableInfo.name}ById($!pk.shortType $!pk.name);
    
    /**
     * 保存$!{tableName}数据
     *
     * @param jsonStr
     * @return 实例对象
     */
    $!{tableInfo.name} save$!{tableInfo.name}(String jsonStr);

    /**
     * 通过主键删除$!{tableName}数据
     *
     * @param $!pk.name 主键
     */
    void delete$!{tableInfo.name}ById($!pk.shortType $!pk.name);
    
    /**
     * 增加$!{tableName}数据
     *
     * @param num 数量
     */
    void genData$!{tool.firstUpperCase($tableInfo.name)}(int num);

}

Impl

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "ServiceImpl"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service/impl"))

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

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

import $!{tableInfo.savePackageName}.domain.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Dao;
import $!{tableInfo.savePackageName}.repository.$!{tableInfo.name}Repository;
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import javax.annotation.Resource;
import com.alibaba.fastjson.JSONObject;
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服务实现类
 *
 * @Author 
 * @Date $!time.currTime("yyyy-MM-dd")
 */
@Transactional
@Service("$!tool.firstLowerCase($!{tableInfo.name})Service")
public class $!{tableName} implements $!{tableInfo.name}Service {

    @Resource
    private $!{tableInfo.name}Dao $!tool.firstLowerCase($!{tableInfo.name})Dao;
    @Autowired
    private $!{tableInfo.name}Repository $!tool.firstLowerCase($!{tableInfo.name})Repository;

    /**
     * 分页查询$!{tableName}数据
     * @Author 
     * @Date $!time.currTime()
     * @param currentPage 当前页
     * @param pageSize 页大小
     * @param sortColumn 排序字段 
     * @param dir 默认倒序 
     * @param searchKey 搜索关键字 
     * @param searchValue 搜索内容 %like% 
     * @return PageInfo
     */
    @Override
    public PageInfo<$!{tableInfo.name}> query$!{tableInfo.name}PageData(int currentPage,int pageSize,String sortColumn,String dir,String searchKey,String searchValue){
    
        //将参数封装到Pagehelper,注意:当前设置只对下一个SQL语句生效,并且在mapper.xml中的SQL语句不要写分号.
        PageHelper.startPage(currentPage, pageSize);
        List<$!{tableInfo.name}> jgJgdxQyjbxxesMap = $!{tool.firstLowerCase($!{tableInfo.name})}Dao.query$!{tableInfo.name}PageData(sortColumn,dir,searchKey,searchValue);
        PageInfo<$!{tableInfo.name}> pageInfo = new PageInfo<>(jgJgdxQyjbxxesMap);

        return  pageInfo;
    }

    /**
     * 通过ID查询$!{tableName}单条数据
     * @Author 
     * @Date $!time.currTime("yyyy-MM-dd")
     * @param $!pk.name 主键
     * @return 实例对象
     */
    @Override
    public $!{tableInfo.name} query$!{tableInfo.name}ById($!pk.shortType $!pk.name){
    
        return $!{tool.firstLowerCase($!{tableInfo.name})}Repository.findById($!pk.name).get();
    
    }
    
    /**
     * 保存$!{tableName}数据
     * @Author 
     * @Date $!time.currTime("yyyy-MM-dd")
     * @param jsonStr
     * @return 实例对象
     */
    @Override
    public $!{tableInfo.name} save$!{tableInfo.name}(String jsonStr){
        
        //List<$!{tableInfo.name}> $!{tool.firstLowerCase($!{tableInfo.name})}List = JSONArray.parseArray(jsonStr, $!{tableInfo.name}.class);
        
        $!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}) = JSONObject.parseObject(jsonStr, $!{tableInfo.name}.class);
        $!{tool.firstLowerCase($!{tableInfo.name})}Repository.save($!tool.firstLowerCase($!{tableInfo.name}));
        return $!tool.firstLowerCase($!{tableInfo.name});
    
    }

    /**
     * 通过主键删除$!{tableName}数据
     * @Author 
     * @Date $!time.currTime("yyyy-MM-dd")
     * @param $!pk.name 主键
     *@return void
     */
    @Override
    public void delete$!{tableInfo.name}ById($!pk.shortType $!pk.name){
    
        $!{tool.firstLowerCase($!{tableInfo.name})}Repository.deleteById("$!pk.name");
    
    }
    
    /**
     * 增加$!{tableName}数据
     * @Author 
     * @Date $!time.currTime("yyyy-MM-dd")
     * @param num 数量
     *@return void
     */
    @Override
    public void genData$!{tool.firstUpperCase($tableInfo.name)}(int num){
    
        for (int i = 0; i <num ; i++) {
            $!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}) = new $!{tableInfo.name}(i);
            $!{tool.firstLowerCase($!{tableInfo.name})}Repository.save($!tool.firstLowerCase($!{tableInfo.name}));
        }    
    
    }
}

Dao

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


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

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

import $!{tableInfo.savePackageName}.domain.$!{tableInfo.name};
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层
 *
 * @Author 
 * @Date $!time.currTime("yyyy-MM-dd")
 */
@Mapper
public interface $!{tableName} {

    /**
     * 分页查询$!{tableName}数据
     *
     * @param sortColumn 排序字段 
     * @param dir 默认倒序 
     * @param searchKey 搜索关键字 
     * @param searchValue 搜索内容 %like% 
     * @return Page
     */
     List<$!{tableInfo.name}> query$!{tableInfo.name}PageData(@Param("sortColumn") String sortColumn,@Param("dir") String dir,@Param("searchKey") String searchKey,@Param("searchValue") String searchValue);

}

Mapper

##引入mybatis支持
$!mybatisSupport

##设置保存名称与保存位置
$!callback.setFileName($tool.append($!{tableInfo.name}, "Dao.xml"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/mapper"))

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

<?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}.mapper.$!{tableInfo.name}Dao">

    <resultMap type="$!{tableInfo.savePackageName}.domain.$!{tableInfo.name}" id="$!{tableInfo.name}Map">
#foreach($column in $tableInfo.fullColumn)
        <result property="$!column.name" column="$!column.obj.name" jdbcType="$!column.ext.jdbcType"/>
#end
    </resultMap>
    
    <!--分页查询-->
    <select id="query$!{tableInfo.name}PageData" resultMap="$!{tableInfo.name}Map">
        select
          #allSqlColumn()

        from $!{tableInfo.obj.parent.name}.$!tableInfo.obj.name
        WHERE
            1=1
        <if test="searchValue!=null and searchValue!=''">
            <choose>
                <when  test="searchKey == 'searchKey'">
                    and searchKey like concat('%',#{searchValue},'%')
                </when>
                <otherwise>
                    and searchKey like concat('%',#{searchValue},'%')
                </otherwise>
            </choose>
        </if>

        order by ${sortColumn} ${dir}
    </select>

</mapper>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值