+#foreach($column in $columns)#if(!${column.isIdentityPk})
+ #{${column.javaFieldName}},
+
+#end#end
+
+
+
+
+
+ UPDATE ${table.tableName}
+
+#foreach($column in $columns)#if(!${column.isPk}) ${column.columnName} = #{${column.javaFieldName}},
+#end#end
+
+ WHERE ${pk.columnName} = #{${pk.javaFieldName}}
+
+
+
+
+ UPDATE ${table.tableName}
+
+#foreach($column in $columns)#if(!${column.isPk})
+ ${column.columnName} = #{${column.javaFieldName}},
+
+#end#end
+
+ WHERE ${pk.columnName} = #{${pk.javaFieldName}}
+
+
+
+
+ DELETE FROM ${table.tableName} WHERE ${pk.columnName} = #{${pk.javaFieldName}}
+
+
+
+
+ UPDATE ${table.tableName} SET is_deleted=1 WHERE ${pk.columnName} = #{${pk.javaFieldName}}
+
+
\ No newline at end of file
diff --git a/template/common/service.vm b/template/common/service.vm
new file mode 100644
index 0000000..bf349bb
--- /dev/null
+++ b/template/common/service.vm
@@ -0,0 +1,79 @@
+## filename=${context.javaBeanName}Service.java, folder=
+package ${context.packageName}.service;
+
+import ${context.packageName}.entity.${context.javaBeanName};
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}Service.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+public interface ${context.javaBeanName}Service {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List<${context.javabeanname}> listAll();
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ ${context.javaBeanName} getById(${pk.javaTypeBox} ${pk.javaFieldName});
+
+ /**
+ * 新增,插入所有字段
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ int insert(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 新增,忽略null字段
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ int insertIgnoreNull(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 修改,修改所有字段
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ int update(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 修改,忽略null字段
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ int updateIgnoreNull(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 根据主键删除记录
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ int deleteById(${pk.javaTypeBox} ${pk.javaFieldName});
+
+ /**
+ * 根据主键逻辑删除
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ int deleteLogic(${pk.javaTypeBox} ${pk.javaFieldName});
+}
\ No newline at end of file
diff --git a/template/common/serviceImpl.vm b/template/common/serviceImpl.vm
new file mode 100644
index 0000000..14fa946
--- /dev/null
+++ b/template/common/serviceImpl.vm
@@ -0,0 +1,111 @@
+## filename=${context.javaBeanName}ServiceImpl.java, folder=
+package ${context.packageName}.service.impl;
+
+import ${context.packageName}.entity.${context.javaBeanName};
+import ${context.packageName}.mapper.${context.javaBeanName}Mapper;
+import ${context.packageName}.service.${context.javaBeanName}Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}ServiceImpl.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+@Service
+public class ${context.javaBeanName}ServiceImpl implements ${context.javaBeanName}Service{
+
+ @Autowired
+ private ${context.javaBeanName}Mapper ${context.javaBeanNameLF}Mapper;
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ @Override
+ public List<${context.javabeanname}> listAll() {
+ return ${context.javaBeanNameLF}Mapper.listAll();
+ }
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ @Override
+ public ${context.javaBeanName} getById(${pk.javaTypeBox} ${pk.javaFieldName}) {
+ return ${context.javaBeanNameLF}Mapper.getById(${pk.javaFieldName});
+ }
+
+ /**
+ * 新增,插入所有字段
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ @Override
+ public int insert(${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Mapper.insert(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 新增,忽略null字段
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ @Override
+ public int insertIgnoreNull(${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Mapper.insertIgnoreNull(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 修改,修改所有字段
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ @Override
+ public int update(${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Mapper.update(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 修改,忽略null字段
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ @Override
+ public int updateIgnoreNull(${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Mapper.updateIgnoreNull(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 根据主键删除记录
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ @Override
+ public int deleteById(${pk.javaTypeBox} ${pk.javaFieldName}) {
+ return ${context.javaBeanNameLF}Mapper.deleteById(${pk.javaFieldName});
+ }
+
+ /**
+ * 根据主键逻辑删除
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ @Override
+ public int deleteLogic(${pk.javaTypeBox} ${pk.javaFieldName}) {
+ return ${context.javaBeanNameLF}Mapper.deleteLogic(${pk.javaFieldName});
+ }
+}
\ No newline at end of file
diff --git a/template/restful/controller.vm b/template/restful/controller.vm
new file mode 100644
index 0000000..373394b
--- /dev/null
+++ b/template/restful/controller.vm
@@ -0,0 +1,78 @@
+## filename=${context.javaBeanName}Controller.java, folder=controller
+package ${context.packageName}.controller;
+
+import ${context.packageName}.entity.${context.javaBeanName};
+import ${context.packageName}.service.${context.javaBeanName}Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}Controller.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+@RequestMapping("/${context.javaBeanNameLF}")
+@RestController
+public class ${context.javaBeanName}Controller {
+
+ @Autowired
+ private ${context.javaBeanName}Service ${context.javaBeanNameLF}Service;
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ @GetMapping
+ public List<${context.javabeanname}> listAll() {
+ return ${context.javaBeanNameLF}Service.listAll();
+ }
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ @GetMapping("/{id}")
+ public ${context.javaBeanName} getById(@PathVariable ${pk.javaTypeBox} id) {
+ return ${context.javaBeanNameLF}Service.getById(id);
+ }
+
+ /**
+ * 新增
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ @PostMapping
+ public int insert(@RequestBody ${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Service.insert(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 修改
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ @PutMapping
+ public int update(@RequestBody ${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Service.update(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 删除记录
+ *
+ * @param ${pk.javaFieldName} 待删除的记录
+ * @return 返回影响行数
+ */
+ @DeleteMapping
+ public int deleteById(${pk.javaTypeBox} ${pk.javaFieldName}) {
+ return ${context.javaBeanNameLF}Service.deleteById(${pk.javaFieldName});
+ }
+}
\ No newline at end of file
diff --git a/template/restful/dao.vm b/template/restful/dao.vm
new file mode 100644
index 0000000..533db97
--- /dev/null
+++ b/template/restful/dao.vm
@@ -0,0 +1,57 @@
+## filename=${context.javaBeanName}Mapper.java, folder=dao
+package ${context.packageName}.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import ${context.packageName}.entity.${context.javaBeanName};
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}Mapper.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+@Mapper
+public interface ${context.javaBeanName}Mapper {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List<${context.javabeanname}> listAll();
+
+ /**
+ * 根据主键查询
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回记录,没有返回null
+ */
+ ${context.javaBeanName} getById(${pk.javaTypeBox} ${pk.javaFieldName});
+
+ /**
+ * 新增
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ int insert(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 修改(修改所有字段)
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ int update(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 根据主键删除记录
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ int deleteById(${pk.javaTypeBox} ${pk.javaFieldName});
+}
\ No newline at end of file
diff --git a/template/restful/entity.vm b/template/restful/entity.vm
new file mode 100644
index 0000000..a572926
--- /dev/null
+++ b/template/restful/entity.vm
@@ -0,0 +1,46 @@
+## filename=${context.javaBeanName}.java, folder=entity
+package ${context.packageName}.entity;
+
+import lombok.Data;
+
+#if(${table.hasDateField})
+import java.util.Date;
+#end
+#if(${table.hasLocalDateField})
+import java.time.LocalDate;
+#end
+#if(${table.hasLocalDateTimeField})
+import java.time.LocalDateTime;
+#end
+#if(${table.hasBigDecimalField})
+import java.math.BigDecimal;
+#end
+
+#if( "${table.comment}" != "" )
+/**
+ * ${table.comment}.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+#else
+/**
+ * ${context.javaBeanName}.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+#end
+@Data
+public class ${context.javaBeanName} {
+#foreach($column in $columns)
+#if( "${column.comment}" != "" )
+ /**
+ * ${column.comment}
+ */
+#end
+ private ${column.javaTypeBox} ${column.javaFieldName};
+#end
+}
\ No newline at end of file
diff --git a/template/restful/mapper.vm b/template/restful/mapper.vm
new file mode 100644
index 0000000..e5a5d54
--- /dev/null
+++ b/template/restful/mapper.vm
@@ -0,0 +1,65 @@
+## filename=${context.javaBeanName}Mapper.xml, folder=mapper
+#set($jq="$")
+
+
+
+
+
+#foreach($column in $columns)
+#if(${column.isIdentityPk})
+
+#else
+
+#end
+#end
+
+
+
+
+ #foreach($column in $columns)#if($velocityCount> 1),#end ${column.columnName}#end
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO ${table.tableName}
+ + #foreach($column in $columns)#if(!${column.isIdentityPk})${column.columnName}, #end#end
+
+
+
+ #foreach($column in $columns)#if(!${column.isIdentityPk})#{${column.javaFieldName}}, #end#end
+
+
+
+
+
+
+ UPDATE ${table.tableName}
+
+#foreach($column in $columns)#if(!${column.isPk}) ${column.columnName} = #{${column.javaFieldName}},
+#end#end
+
+ WHERE ${pk.columnName} = #{${pk.javaFieldName}}
+
+
+
+
+ DELETE FROM ${table.tableName} WHERE ${pk.columnName} = #{${pk.javaFieldName}}
+
+
\ No newline at end of file
diff --git a/template/restful/service.vm b/template/restful/service.vm
new file mode 100644
index 0000000..8ca8812
--- /dev/null
+++ b/template/restful/service.vm
@@ -0,0 +1,55 @@
+## filename=${context.javaBeanName}Service.java, folder=service
+package ${context.packageName}.service;
+
+import ${context.packageName}.entity.${context.javaBeanName};
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}Service.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+public interface ${context.javaBeanName}Service {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List<${context.javabeanname}> listAll();
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ ${context.javaBeanName} getById(${pk.javaTypeBox} ${pk.javaFieldName});
+
+ /**
+ * 新增
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ int insert(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 修改
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ int update(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 根据主键删除记录
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ int deleteById(${pk.javaTypeBox} ${pk.javaFieldName});
+}
\ No newline at end of file
diff --git a/template/restful/serviceImpl.vm b/template/restful/serviceImpl.vm
new file mode 100644
index 0000000..cf0a4b4
--- /dev/null
+++ b/template/restful/serviceImpl.vm
@@ -0,0 +1,78 @@
+## filename=${context.javaBeanName}ServiceImpl.java, folder=serviceImpl
+package ${context.packageName}.service.impl;
+
+import ${context.packageName}.entity.${context.javaBeanName};
+import ${context.packageName}.mapper.${context.javaBeanName}Mapper;
+import ${context.packageName}.service.${context.javaBeanName}Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}ServiceImpl.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+@Service
+public class ${context.javaBeanName}ServiceImpl implements ${context.javaBeanName}Service{
+
+ @Autowired
+ private ${context.javaBeanName}Mapper ${context.javaBeanNameLF}Mapper;
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ @Override
+ public List<${context.javabeanname}> listAll() {
+ return ${context.javaBeanNameLF}Mapper.listAll();
+ }
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ @Override
+ public ${context.javaBeanName} getById(${pk.javaTypeBox} ${pk.javaFieldName}) {
+ return ${context.javaBeanNameLF}Mapper.getById(${pk.javaFieldName});
+ }
+
+ /**
+ * 新增
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ @Override
+ public int insert(${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Mapper.insert(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 修改
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ @Override
+ public int update(${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Mapper.update(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 根据主键删除记录
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ @Override
+ public int deleteById(${pk.javaTypeBox} ${pk.javaFieldName}) {
+ return ${context.javaBeanNameLF}Mapper.deleteById(${pk.javaFieldName});
+ }
+}
\ No newline at end of file
diff --git a/template/swagger/controller.vm b/template/swagger/controller.vm
new file mode 100644
index 0000000..ad08282
--- /dev/null
+++ b/template/swagger/controller.vm
@@ -0,0 +1,86 @@
+## filename=${context.javaBeanName}Controller.java, folder=
+package ${context.packageName}.controller;
+
+import ${context.packageName}.entity.${context.javaBeanName};
+import ${context.packageName}.service.${context.javaBeanName}Service;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}Controller.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+@RestController
+@RequestMapping("/${context.javaBeanNameLF}")
+@Api(tags = "${context.javaBeanName}-Controller", value = "${table.label}Controller")
+public class ${context.javaBeanName}Controller {
+
+ @Autowired
+ private ${context.javaBeanName}Service ${context.javaBeanNameLF}Service;
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ @ApiOperation("查询所有记录")
+ @GetMapping
+ public List<${context.javabeanname}> listAll() {
+ return ${context.javaBeanNameLF}Service.listAll();
+ }
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ @ApiOperation("根据主键查询")
+ @GetMapping("/{id}")
+ public ${context.javaBeanName} getById(@PathVariable ${pk.javaTypeBox} id) {
+ return ${context.javaBeanNameLF}Service.getById(id);
+ }
+
+ /**
+ * 新增
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ @ApiOperation("新增")
+ @PostMapping
+ public int insert(@RequestBody ${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Service.insert(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 修改
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ @ApiOperation("修改")
+ @PutMapping
+ public int update(@RequestBody ${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Service.update(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 删除记录
+ *
+ * @param ${pk.javaFieldName} 待删除的记录
+ * @return 返回影响行数
+ */
+ @ApiOperation("删除记录")
+ @DeleteMapping
+ public int deleteById(${pk.javaTypeBox} ${pk.javaFieldName}) {
+ return ${context.javaBeanNameLF}Service.deleteById(${pk.javaFieldName});
+ }
+}
\ No newline at end of file
diff --git a/template/swagger/dao.vm b/template/swagger/dao.vm
new file mode 100644
index 0000000..533db97
--- /dev/null
+++ b/template/swagger/dao.vm
@@ -0,0 +1,57 @@
+## filename=${context.javaBeanName}Mapper.java, folder=dao
+package ${context.packageName}.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import ${context.packageName}.entity.${context.javaBeanName};
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}Mapper.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+@Mapper
+public interface ${context.javaBeanName}Mapper {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List<${context.javabeanname}> listAll();
+
+ /**
+ * 根据主键查询
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回记录,没有返回null
+ */
+ ${context.javaBeanName} getById(${pk.javaTypeBox} ${pk.javaFieldName});
+
+ /**
+ * 新增
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ int insert(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 修改(修改所有字段)
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ int update(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 根据主键删除记录
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ int deleteById(${pk.javaTypeBox} ${pk.javaFieldName});
+}
\ No newline at end of file
diff --git a/template/swagger/entity.vm b/template/swagger/entity.vm
new file mode 100644
index 0000000..49c7045
--- /dev/null
+++ b/template/swagger/entity.vm
@@ -0,0 +1,37 @@
+## filename=${context.javaBeanName}.java, folder=
+package ${context.packageName}.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+#if(${table.hasDateField})
+import java.util.Date;
+#end
+#if(${table.hasLocalDateField})
+import java.time.LocalDate;
+#end
+#if(${table.hasLocalDateTimeField})
+import java.time.LocalDateTime;
+#end
+#if(${table.hasBigDecimalField})
+import java.math.BigDecimal;
+#end
+
+/**
+ * ${table.label}.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "${context.javaBeanName}", description = "${table.label}表对象")
+public class ${context.javaBeanName} {
+#foreach($column in $columns)
+ @ApiModelProperty("${column.label}")
+ private ${column.javaTypeBox} ${column.javaFieldName};
+#end
+}
\ No newline at end of file
diff --git a/template/swagger/mapper.vm b/template/swagger/mapper.vm
new file mode 100644
index 0000000..e5a5d54
--- /dev/null
+++ b/template/swagger/mapper.vm
@@ -0,0 +1,65 @@
+## filename=${context.javaBeanName}Mapper.xml, folder=mapper
+#set($jq="$")
+
+
+
+
+
+#foreach($column in $columns)
+#if(${column.isIdentityPk})
+
+#else
+
+#end
+#end
+
+
+
+
+ #foreach($column in $columns)#if($velocityCount> 1),#end ${column.columnName}#end
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO ${table.tableName}
+ + #foreach($column in $columns)#if(!${column.isIdentityPk})${column.columnName}, #end#end
+
+
+
+ #foreach($column in $columns)#if(!${column.isIdentityPk})#{${column.javaFieldName}}, #end#end
+
+
+
+
+
+
+ UPDATE ${table.tableName}
+
+#foreach($column in $columns)#if(!${column.isPk}) ${column.columnName} = #{${column.javaFieldName}},
+#end#end
+
+ WHERE ${pk.columnName} = #{${pk.javaFieldName}}
+
+
+
+
+ DELETE FROM ${table.tableName} WHERE ${pk.columnName} = #{${pk.javaFieldName}}
+
+
\ No newline at end of file
diff --git a/template/swagger/service.vm b/template/swagger/service.vm
new file mode 100644
index 0000000..8ca8812
--- /dev/null
+++ b/template/swagger/service.vm
@@ -0,0 +1,55 @@
+## filename=${context.javaBeanName}Service.java, folder=service
+package ${context.packageName}.service;
+
+import ${context.packageName}.entity.${context.javaBeanName};
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}Service.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+public interface ${context.javaBeanName}Service {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List<${context.javabeanname}> listAll();
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ ${context.javaBeanName} getById(${pk.javaTypeBox} ${pk.javaFieldName});
+
+ /**
+ * 新增
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ int insert(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 修改
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ int update(${context.javaBeanName} ${context.javaBeanNameLF});
+
+ /**
+ * 根据主键删除记录
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ int deleteById(${pk.javaTypeBox} ${pk.javaFieldName});
+}
\ No newline at end of file
diff --git a/template/swagger/serviceImpl.vm b/template/swagger/serviceImpl.vm
new file mode 100644
index 0000000..cf0a4b4
--- /dev/null
+++ b/template/swagger/serviceImpl.vm
@@ -0,0 +1,78 @@
+## filename=${context.javaBeanName}ServiceImpl.java, folder=serviceImpl
+package ${context.packageName}.service.impl;
+
+import ${context.packageName}.entity.${context.javaBeanName};
+import ${context.packageName}.mapper.${context.javaBeanName}Mapper;
+import ${context.packageName}.service.${context.javaBeanName}Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * ${context.javaBeanName}ServiceImpl.
+ *
+ * @author ${context.author}
+ * @date ${context.date}
+ * @description
+ */
+@Service
+public class ${context.javaBeanName}ServiceImpl implements ${context.javaBeanName}Service{
+
+ @Autowired
+ private ${context.javaBeanName}Mapper ${context.javaBeanNameLF}Mapper;
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ @Override
+ public List<${context.javabeanname}> listAll() {
+ return ${context.javaBeanNameLF}Mapper.listAll();
+ }
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ @Override
+ public ${context.javaBeanName} getById(${pk.javaTypeBox} ${pk.javaFieldName}) {
+ return ${context.javaBeanNameLF}Mapper.getById(${pk.javaFieldName});
+ }
+
+ /**
+ * 新增
+ *
+ * @param ${context.javaBeanNameLF} 新增的记录
+ * @return 返回影响行数
+ */
+ @Override
+ public int insert(${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Mapper.insert(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 修改
+ *
+ * @param ${context.javaBeanNameLF} 修改的记录
+ * @return 返回影响行数
+ */
+ @Override
+ public int update(${context.javaBeanName} ${context.javaBeanNameLF}) {
+ return ${context.javaBeanNameLF}Mapper.update(${context.javaBeanNameLF});
+ }
+
+ /**
+ * 根据主键删除记录
+ *
+ * @param ${pk.javaFieldName} 主键ID
+ * @return 返回影响行数
+ */
+ @Override
+ public int deleteById(${pk.javaTypeBox} ${pk.javaFieldName}) {
+ return ${context.javaBeanNameLF}Mapper.deleteById(${pk.javaFieldName});
+ }
+}
\ No newline at end of file