Easy code配置

  • entity.java
##引入宏定義
$!define

##使用宏定義設(shè)置回調(diào)(保存位置與文件后綴)
#save("/entity", ".java")

##使用宏定義設(shè)置包后綴
#setPackageSuffix("entity")

##使用全局變量實(shí)現(xiàn)默認(rèn)包導(dǎo)入
$!autoImport
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;

##使用宏定義實(shí)現(xiàn)類注釋信息
#tableComment("實(shí)體類")

@Table(name = "$!{tableInfo.obj.name}")
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
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.obj.name} =="id")@Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    #end
#if(${column.comment})@ApiModelProperty("${column.comment}")
    #end
#if(${column.obj.name} !="id")@Column(name = "$!{column.obj.name}")
    #end
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
}
  • dao.java
##定義初始變量
#set($tableName = $tool.append($tableInfo.name, "Mapper"))
#set($tableShortName = $!tool.firstLowerCase($!{tableInfo.name}))
##設(shè)置回調(diào)
$!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}.entity.$!{tableInfo.name};
import org.apache.ibatis.annotations.Param;
import java.util.List;
import com.wmeimob.fastboot.core.orm.Mapper;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表數(shù)據(jù)庫(kù)訪問層
 *
 * @author $!author
 * @since $!time.currTime()
 */
public interface $!{tableName} extends Mapper<$!tableInfo.name>{

    /**
    *根據(jù)對(duì)象查詢
    */
    List<$!{tableInfo.name}> queryAll(@Param("$!{tableShortName}") $!{tableInfo.name} $!{tableShortName});

}
  • mapper.xml
##引入mybatis支持
$!mybatisSupport

##設(shè)置保存名稱與保存位置
$!callback.setFileName($tool.append($!{tableInfo.name}, "Mapper.xml"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/mapper/impl"))

##拿到主鍵
#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}Mapper">

    <resultMap type="$!{tableInfo.savePackageName}.entity.$!{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>

</mapper>
  • service.java
##定義初始變量
#set($tableName = $tool.append($tableInfo.name, "Service"))
#set($tableShortName = $!tool.firstLowerCase($!{tableInfo.name}))
##設(shè)置回調(diào)
$!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.wmeimob.fastboot.core.service.CommonService;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服務(wù)接口
 *
 * @author $!author
 * @since $!time.currTime()
 */
public interface $!{tableName} extends CommonService<$!{tableInfo.name}>{

    /**
     * 通過ID查詢單條數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return 實(shí)例對(duì)象
     */
    default $!{tableInfo.name} queryById($!pk.shortType $!pk.name){return null;}

    /**
     * 查詢多條數(shù)據(jù)
     *
     * @return 對(duì)象列表
     */
    default List<$!{tableInfo.name}> queryAll($!{tableInfo.name} $!{tableShortName}){return null;}

    /**
     * 新增數(shù)據(jù)
     *
     * @param $!{tableShortName} 實(shí)例對(duì)象
     * @return 實(shí)例對(duì)象
     */
    default $!{tableInfo.name} insert$!{tableInfo.name}($!{tableInfo.name} $!{tableShortName}){return null;}
    
    /**
     * 修改數(shù)據(jù)
     *
     * @param $!{tableShortName} 實(shí)例對(duì)象
     * @return int
     */
    default int update$!{tableInfo.name}($!{tableInfo.name} $!{tableShortName}){return -1;}
    /**
     * 通過主鍵刪除數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return int
     */
    default int deleteById($!pk.shortType $!pk.name){return -1;}

}
  • serviceImpl.java
##定義初始變量
#set($tableName = $tool.append($tableInfo.name, "ServiceImpl"))
#set($tableShortName = $!tool.firstLowerCase($!{tableInfo.name}))
##設(shè)置回調(diào)
$!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 com.wmeimob.fastboot.core.exception.CustomException;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper;
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服務(wù)實(shí)現(xiàn)類
 *
 * @author $!author
 * @since $!time.currTime()
 */
@Service
@Slf4j
public class $!{tableName} implements $!{tableInfo.name}Service {
    @Resource
    private $!{tableInfo.name}Mapper $!{tableShortName}Mapper;

    /**
     * 通過ID查詢單條數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return 實(shí)例對(duì)象
     */
    @Override
    public $!{tableInfo.name} queryById($!pk.shortType $!pk.name) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.selectByPrimaryKey($!pk.name);
    }
    /**
     * 查詢多條數(shù)據(jù)
     *
     * @param $!{tool.firstLowerCase($!{tableInfo.name})}
     * @return $!{tableInfo.name}列表
     */
    @Override
    public List<$!{tableInfo.name}> queryAll($!{tableInfo.name} $!{tableShortName}) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.select($!{tableShortName});
    }
    /**
     * 新增數(shù)據(jù)
     *
     * @param $!{tableShortName} 實(shí)例對(duì)象
     * @return $!{tableInfo.name}
     */
    @Override
    public $!{tableInfo.name} insert$!{tableInfo.name}($!{tableInfo.name} $!{tableShortName}) {
        $!{tableShortName}.setGmtCreate(new Date());
        int i = this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.insertSelective($!{tableShortName});
        if (i <= 0){
            throw new CustomException("新增$!{tableInfo.comment}過程中發(fā)生錯(cuò)誤");
        }
        return $!{tableShortName};
    }
    /**
     * 修改數(shù)據(jù)
     *
     * @param $!{tableShortName} 實(shí)例對(duì)象
     * @return int
     */
    @Override
    public int update$!{tableInfo.name}($!{tableInfo.name} $!{tableShortName}) {
        $!{tableShortName}.setGmtModified(new Date());
        int i = this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.updateByPrimaryKeySelective($!{tableShortName});
         if (i <= 0){
            throw new CustomException("更新$!{tableInfo.comment}過程中發(fā)生錯(cuò)誤");
        }
        return i;
    }
    /**
     * 通過主鍵刪除數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return int
     */
    @Override
    public int deleteById($!pk.shortType $!pk.name) {
        if ($!pk.name == null){
           throw new CustomException("id不能為空");
        }
        int i =this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.deleteByPrimaryKey($!pk.name);
        if (i <= 0){
            throw new CustomException("刪除$!{tableInfo.comment}過程中發(fā)生錯(cuò)誤");
        }
        return i;
    }
}
  • controller.java
##定義初始變量
#set($tableName = $tool.append($tableInfo.name, "Controller"))
#set($tableShortName = $!tool.firstLowerCase($!{tableInfo.name}))
##設(shè)置回調(diào)
$!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}.entity.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.web.bind.annotation.*;
import lombok.extern.slf4j.Slf4j;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.wmeimob.fastboot.core.context.PageContext;
import com.wmeimob.fastboot.sg.base.ResponseCode;
import com.wmeimob.fastboot.sg.base.ResponseVO;
import com.github.pagehelper.PageInfo;

import javax.annotation.Resource;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表控制層
 *
 * @author $!author
 * @since $!time.currTime()
 */
@Api(tags = {"$!{tableInfo.comment}"})
@Slf4j
@RestController
@RequestMapping("$!{tableShortName}")
public class $!{tableName} {
    /**
     * 服務(wù)對(duì)象
     */
    @Resource
    private $!{tableInfo.name}Service $!{tableShortName}Service;

    /**
     * 通過主鍵查詢單條數(shù)據(jù)
     *
     * @param id 主鍵
     * @return 單條數(shù)據(jù)
     */
    @ApiOperation(value = "按主鍵查詢單個(gè)$!{tableInfo.comment}")
    @GetMapping("/{id}")
    public ResponseVO selectOne(@PathVariable("id") $!pk.shortType id) {
        return ResponseCode.buildEnumResponse(this.$!{tableShortName}Service.queryById(id));
    }
    
    /**
     * 分頁(yè)查詢
     *
     * @param $!{tableShortName} $!{tableInfo.comment}
     * @return 分頁(yè)查詢結(jié)果
     */
    @ApiOperation(value = "分頁(yè)查詢")
    @GetMapping("/query")
    public ResponseVO query($!{tableInfo.name} $!{tableShortName}) {
        PageContext.startPage();
        return ResponseCode.buildEnumResponse(new PageInfo<$!{tableInfo.name}>(this.$!{tableShortName}Service.queryAll($!{tableShortName})));
    }
    
    /**
     * 新增
     *
     * @param $!{tableShortName} $!{tableInfo.comment}
     * @return 
     */
    @ApiOperation(value = "新增")
    @PostMapping("/insert")
    public ResponseVO insert(@RequestBody $!{tableInfo.name} $!{tableShortName}) {
        this.$!{tableShortName}Service.insert$!{tableInfo.name}($!{tableShortName});
        return ResponseCode.ok();
    }
    
    /**
     * 修改
     *
     * @param $!{tableShortName} $!{tableInfo.comment}
     * @return 
     */
    @ApiOperation(value = "修改")
    @PutMapping("/update")
    public ResponseVO update(@RequestBody $!{tableInfo.name} $!{tableShortName}) {
        this.$!{tableShortName}Service.update$!{tableInfo.name}($!{tableShortName});
        return ResponseCode.ok();
    }
    
    /**
     * 刪除
     *
     * @param id 主鍵
     * @return 
     */
    @ApiOperation(value = "刪除")
    @DeleteMapping("/del")
    public ResponseVO del(@PathVariable("id") $!pk.shortType id) {
        this.$!{tableShortName}Service.deleteById(id);
        return ResponseCode.ok();
    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容