##引入宏定義
$!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
}
##定義初始變量
#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});
}
##引入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>
##定義初始變量
#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;}
}
##定義初始變量
#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;
}
}
##定義初始變量
#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ù)。