feat();代码生成器更改

boot3.0
dongzeliang 2025-03-19 18:06:55 +08:00
parent 72b0510f9e
commit eba9643f44
10 changed files with 208 additions and 250 deletions

View File

@ -128,6 +128,7 @@ public class VelocityUtils {
List<String> templates = new ArrayList<String>();
templates.add("vm/java/domain.java.vm");
templates.add("vm/java/query.java.vm");
templates.add("vm/java/queryModel.java.vm");
templates.add("vm/java/save.java.vm");
templates.add("vm/java/edit.java.vm");
templates.add("vm/java/controller.java.vm");
@ -173,6 +174,9 @@ public class VelocityUtils {
if (template.contains("query.java.vm")) {
fileName = StringUtils.format("{}/domain/req/{}QueryReq.java", javaPath, className);
}
if (template.contains("queryModel.java.vm")) {
fileName = StringUtils.format("{}/domain/model/{}QueryModel.java", javaPath, className);
}
if (template.contains("save.java.vm")) {
fileName = StringUtils.format("{}/domain/req/{}SaveReq.java", javaPath, className);
}

View File

@ -1,10 +1,18 @@
package ${packageName}.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.*;
import org.springframework.security.access.prepost.PreAuthorize;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -14,18 +22,14 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.enums.BusinessType;
import ${packageName}.domain.${ClassName};
import ${packageName}.domain.req.${ClassName}QueryReq;
import ${packageName}.domain.model.${ClassName}QueryModel;
import ${packageName}.domain.req.${ClassName}SaveReq;
import ${packageName}.domain.req.${ClassName}EditReq;
import ${packageName}.service.${ClassName}Service;
import com.ruoyi.common.utils.poi.ExcelUtil;
#if($table.crud)
import com.ruoyi.common.core.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
#elseif($table.tree)
#end
@ -35,9 +39,9 @@ import com.ruoyi.common.core.page.TableDataInfo;
* @author ${author}
* @date ${datetime}
*/
@Api(tags = "${functionName}")
@RestController
@RequestMapping("/${moduleName}/${businessName}")
@Tag(name = "${functionName}", description = "${functionName}控制层")
public class ${ClassName}Controller extends BaseController {
@Autowired
private ${ClassName}Service ${className}Service;
@ -45,14 +49,13 @@ public class ${ClassName}Controller extends BaseController {
/**
* 查询${functionName}列表
*/
@ApiOperation("获取${functionName}列表")
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
@Operation(summary = "获取${functionName}列表", description = "获取${functionName}列表")
@RequiresPermissions("${permissionPrefix}:list")
@GetMapping("/list")
#if($table.crud)
public Result<TableDataInfo<${ClassName}>> list(${ClassName}QueryReq ${className}QueryReq) {
startPage();
List<${ClassName}> list = ${className}Service.list(${ClassName}.queryBuild(${className}QueryReq));
return getDataTable(list);
public Result<DataPageResp<${ClassName}>> list(${ClassName}QueryReq ${className}QueryReq) {
PageQueryModel<${ClassName}> pageQueryModel = ${className}Service.pageQuery(${ClassName}QueryModel.reqBuild(${className}QueryReq));
return resultList(pageQueryModel);
}
#elseif($table.tree)
public Result<List<${ClassName}>> list(${ClassName} ${className}) {
@ -64,23 +67,22 @@ public class ${ClassName}Controller extends BaseController {
/**
* 导出${functionName}列表
*/
@ApiOperation("导出${functionName}列表")
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
@Operation(summary = "导出${functionName}列表", description = "导出${functionName}列表")
@RequiresPermissions("${permissionPrefix}:export")
@Log(title = "${functionName}", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ${ClassName} ${className}) {
List<${ClassName}> list = ${className}Service.list(${className});
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
List<${ClassName}> list = ${className}Service.exportList(${className});
ExcelUtil<${ClassName}> util = new ExcelUtil<>(${ClassName}.class);
util.exportExcel(response, list, "${functionName}数据");
}
/**
* 获取${functionName}详细信息
*/
@ApiOperation("获取${functionName}详细信息")
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
@Operation(summary = "获取${functionName}详细信息", description = "获取${functionName}详细信息")
@RequiresPermissions("${permissionPrefix}:query")
@GetMapping(value = "/{${pkColumn.javaField}}")
@ApiImplicitParam(name = "${pkColumn.javaField}", value = "${pkColumn.javaField}", required = true, dataType = "${pkColumn.javaType}", paramType = "path", dataTypeClass = ${pkColumn.javaType}.class)
public Result<${ClassName}> getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) {
return Result.success(${className}Service.getById(${pkColumn.javaField}));
}
@ -88,10 +90,10 @@ public class ${ClassName}Controller extends BaseController {
/**
* 新增${functionName}
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
@RequiresPermissions("${permissionPrefix}:add")
@Log(title = "${functionName}", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("新增${functionName}")
@Operation(summary = "新增${functionName}", description = "新增${functionName}")
public Result<String> add(@RequestBody ${ClassName}SaveReq ${className}SaveReq) {
return toAjax(${className}Service.save(${ClassName}.saveBuild(${className}SaveReq)));
}
@ -99,10 +101,10 @@ public class ${ClassName}Controller extends BaseController {
/**
* 修改${functionName}
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
@RequiresPermissions("${permissionPrefix}:edit")
@Log(title = "${functionName}", businessType = BusinessType.UPDATE)
@PutMapping("/{${pkColumn.javaField}}")
@ApiOperation("修改${functionName}")
@Operation(summary = "修改${functionName}", description = "修改${functionName}")
public Result<String> edit(@PathVariable ${pkColumn.javaType} ${pkColumn.javaField}, @RequestBody ${ClassName}EditReq ${className}EditReq) {
return toAjax(${className}Service.updateById(${ClassName}.editBuild(${pkColumn.javaField},${className}EditReq)));
}
@ -110,11 +112,10 @@ public class ${ClassName}Controller extends BaseController {
/**
* 删除${functionName}
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
@RequiresPermissions("${permissionPrefix}:remove")
@Log(title = "${functionName}", businessType = BusinessType.DELETE)
@DeleteMapping("/{${pkColumn.javaField}s}")
@ApiOperation("删除${functionName}")
@ApiImplicitParam(name = "${pkColumn.javaField}", value = "${pkColumn.javaField}", required = true, dataType = "${pkColumn.javaType}", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
@Operation(summary = "删除${functionName}", description = "删除${functionName}")
public Result<String> remove(@PathVariable List<${pkColumn.javaType}> ${pkColumn.javaField}s) {
return toAjax(${className}Service.removeBatchByIds(${pkColumn.javaField}s));
}

View File

@ -3,23 +3,26 @@ package ${packageName}.domain;
#foreach ($import in $importList)
import ${import};
#end
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.ruoyi.common.annotation.Excel;
import ${packageName}.domain.req.${ClassName}QueryReq;
import ${packageName}.domain.req.${ClassName}SaveReq;
import ${packageName}.domain.req.${ClassName}EditReq;
#if($table.crud)
import com.ruoyi.common.core.domain.BaseEntity;
import com.muyu.common.core.web.domain.BaseEntity;
#elseif($table.tree)
import com.ruoyi.common.core.domain.TreeEntity;
import com.muyu.common.core.web.domain.TreeEntity;
#end
/**
@ -39,9 +42,9 @@ import com.ruoyi.common.core.domain.TreeEntity;
@AllArgsConstructor
@TableName("${tableName}")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "${ClassName}", description = "${functionName}")
@Schema(description = "${functionName}")
public class ${ClassName} extends ${Entity} {
@Serial
private static final long serialVersionUID = 1L;
#foreach ($column in $columns)
@ -70,30 +73,11 @@ public class ${ClassName} extends ${Entity} {
#if($column.isRequired == '1')
#set($comment=', required = true')
#end
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$comment)
@Schema(name = "${column.columnComment}")
private $column.javaType $column.javaField;
#end
#end
/**
* 查询构造器
*/
public static ${ClassName} queryBuild( ${ClassName}QueryReq ${className}QueryReq){
return ${ClassName}.builder()
#foreach ($column in $columns)
#if($column.isQuery == '1')
#if(!$table.isSuperColumn($column.javaField))
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
#set($AttrName=$column.javaField)
#else
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end
.${column.javaField}(${className}QueryReq.get${AttrName}())
#end
#end
#end
.build();
}
/**
* 添加构造器

View File

@ -3,20 +3,13 @@ package ${packageName}.domain.req;
#foreach ($import in $importList)
import ${import};
#end
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.ruoyi.common.annotation.Excel;
#if($table.crud)
import com.ruoyi.common.core.domain.BaseEntity;
#elseif($table.tree)
import com.ruoyi.common.core.domain.TreeEntity;
#end
/**
* ${functionName}对象 ${tableName}
@ -33,10 +26,8 @@ import com.ruoyi.common.core.domain.TreeEntity;
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "${ClassName}EditReq", description = "${functionName}")
public class ${ClassName}EditReq extends ${Entity} {
private static final long serialVersionUID = 1L;
@Schema(description = "${functionName}")
public class ${ClassName}EditReq {
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
@ -57,7 +48,7 @@ public class ${ClassName}EditReq extends ${Entity} {
#if($column.isRequired == '1')
#set($isRequired=', required = true')
#end
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$isRequired)
@Schema(name = "${column.columnComment}" $isRequired)
private $column.javaType $column.javaField;
#end

View File

@ -3,20 +3,16 @@ package ${packageName}.domain.req;
#foreach ($import in $importList)
import ${import};
#end
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.page.PageReq;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.ruoyi.common.annotation.Excel;
#if($table.crud)
import com.ruoyi.common.core.domain.BaseEntity;
#elseif($table.tree)
import com.ruoyi.common.core.domain.TreeEntity;
#end
import ${packageName}.domain.model.${ClassName}QueryModel;
/**
* ${functionName}对象 ${tableName}
@ -33,10 +29,9 @@ import com.ruoyi.common.core.domain.TreeEntity;
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "${ClassName}QueryReq", description = "${functionName}")
public class ${ClassName}QueryReq extends ${Entity} {
private static final long serialVersionUID = 1L;
@Schema(description = "${functionName}")
@EqualsAndHashCode(callSuper = true)
public class ${ClassName}QueryReq extends PageReq {
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
@ -56,7 +51,7 @@ public class ${ClassName}QueryReq extends ${Entity} {
#if($column.javaField == $pkColumn.javaField)
@TableId(value = "${pkColumn.javaField}",type = IdType.AUTO)
#end
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}")
@Schema(name = "${column.columnComment}")
private $column.javaType $column.javaField;
#end

View File

@ -0,0 +1,73 @@
package ${packageName}.domain.req;
#foreach ($import in $importList)
import ${import};
#end
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.req.StudentInfoQueryReq;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* ${functionName}对象 ${tableName}
*
* @author ${author}
* @date ${datetime}
*/
#if($table.crud)
#set($Entity="BaseEntity")
#elseif($table.tree)
#set($Entity="TreeEntity")
#end
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "${functionName}")
@EqualsAndHashCode(callSuper = true)
public class ${ClassName}QueryModel extends QueryModel<${ClassName}QueryModel> {
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
#if($column.isQuery == '1')
/** $column.columnComment */
#if($column.list)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#end
@Schema(name = "${column.columnComment}")
private $column.javaType $column.javaField;
#end
#end
#end
/**
* 查询构造器
*/
public static ${ClassName}QueryModel reqBuild( ${ClassName}QueryReq queryReq){
${ClassName}QueryModel ${className}QueryModel = ${ClassName}QueryModel.builder()
#foreach ($column in $columns)
#if($column.isQuery == '1')
#if(!$table.isSuperColumn($column.javaField))
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
#set($AttrName=$column.javaField)
#else
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end
.${column.javaField}(queryReq.get${AttrName}())
#end
#end
#end
.build();
${className}QueryModel.domainBuild(queryReq);
return ${className}QueryModel;
}
}

View File

@ -3,20 +3,13 @@ package ${packageName}.domain.req;
#foreach ($import in $importList)
import ${import};
#end
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.ruoyi.common.annotation.Excel;
#if($table.crud)
import com.ruoyi.common.core.domain.BaseEntity;
#elseif($table.tree)
import com.ruoyi.common.core.domain.TreeEntity;
#end
/**
* ${functionName}对象 ${tableName}
@ -33,10 +26,9 @@ import com.ruoyi.common.core.domain.TreeEntity;
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "${ClassName}SaveReq", description = "${functionName}")
public class ${ClassName}SaveReq extends ${Entity} {
@Schema(description = "${functionName}")
public class ${ClassName}SaveReq{
private static final long serialVersionUID = 1L;
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
@ -58,7 +50,7 @@ public class ${ClassName}SaveReq extends ${Entity} {
#if($column.isRequired == '1')
#set($isRequired=', required = true')
#end
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$isRequired)
@Schema(name = "${column.columnComment}" $isRequired)
private $column.javaType $column.javaField;
#end

View File

@ -1,7 +1,9 @@
package ${packageName}.service;
import java.util.List;
import com.muyu.common.core.web.page.PageQueryModel;
import ${packageName}.domain.${ClassName};
import ${packageName}.domain.model.${ClassName}QueryModel;
import com.baomidou.mybatisplus.extension.service.IService;
/**
@ -14,9 +16,17 @@ public interface ${ClassName}Service extends IService<${ClassName}> {
/**
* 查询${functionName}列表
*
* @param ${className} ${functionName}
* @param pageQueryModel ${functionName}
* @return ${functionName}集合
*/
public List<${ClassName}> list(${ClassName} ${className});
public PageQueryModel<${ClassName}> pageQuery(${ClassName}QueryModel pageQueryModel);
/**
* 查询${functionName}列表
*
* @param pageQueryModel ${functionName}
* @return ${functionName}集合
*/
public List<${ClassName}> exportList(${ClassName} pageQueryModel);
}

View File

@ -2,15 +2,17 @@ package ${packageName}.service.impl;
import java.util.List;
import com.ruoyi.common.utils.ObjUtils;
import com.ruoyi.common.utils.StringUtils;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.muyu.common.core.web.page.PageQueryModel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import ${packageName}.mapper.${ClassName}Mapper;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.${ClassName}Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import ${packageName}.mapper.${ClassName}Mapper;
import ${packageName}.domain.${ClassName};
import ${packageName}.domain.model.${ClassName}QueryModel;
import ${packageName}.service.${ClassName}Service;
/**
* ${functionName}Service业务层处理
@ -25,53 +27,70 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
/**
* 查询${functionName}列表
*
* @param ${className} ${functionName}
* @param pageQueryModel ${functionName}
* @return ${functionName}
*/
@Override
public List<${ClassName}> list(${ClassName} ${className}) {
public PageQueryModel<${ClassName}> pageQuery(${ClassName}QueryModel pageQueryModel) {
LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>();
#foreach($column in $columns)
#set($queryType=$column.queryType)
#set($javaField=$column.javaField)
#set($JavaField=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.query)
#if($queryType == "EQ")
if (ObjUtils.notNull(${className}.get$JavaField())){
queryWrapper.eq(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
queryWrapper.eq(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "NE")
if (ObjUtils.notNull(${className}.get$JavaField())){
queryWrapper.ne(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
queryWrapper.ne(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "GT")
if (ObjUtils.notNull(${className}.get$JavaField())){
queryWrapper.gt(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
queryWrapper.gt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "GTE")
if (ObjUtils.notNull(${className}.get$JavaField())){
queryWrapper.ge(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
queryWrapper.ge(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "LT")
if (ObjUtils.notNull(${className}.get$JavaField())){
queryWrapper.lt()${ClassName}::get$JavaField, ${className}.get$JavaField());
}
queryWrapper.lt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "LTE")
if (ObjUtils.notNull(${className}.get$JavaField())){
queryWrapper.le()${ClassName}::get$JavaField, ${className}.get$JavaField());
}
queryWrapper.le(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "LIKE")
if (ObjUtils.notNull(${className}.get$JavaField())){
queryWrapper.like(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
queryWrapper.like(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "BETWEEN")
if (ObjUtils.notChildNull(${className}.getBetween("$JavaField"))){
queryWrapper.between(${ClassName}::get$JavaField, ${className}.getBeginParam("$JavaField"),${className}.getEndParam("$JavaField"));
queryWrapper.between(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.getBeginParam("$JavaField"),pageQueryModel.getEndParam("$JavaField"));
#end #end #end
Page<${ClassName}> page = this.page(pageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
#end
#end
#end
return list(queryWrapper);
/**
* 查询${functionName}列表
*
* @param pageQueryModel ${functionName}
* @return ${functionName}
*/
@Override
public List<${ClassName}> exportList(${ClassName} pageQueryModel) {
LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>();
#foreach($column in $columns)
#set($queryType=$column.queryType)
#set($javaField=$column.javaField)
#set($JavaField=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.query)
#if($queryType == "EQ")
queryWrapper.eq(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "NE")
queryWrapper.ne(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "GT")
queryWrapper.gt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "GTE")
queryWrapper.ge(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "LT")
queryWrapper.lt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "LTE")
queryWrapper.le(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "LIKE")
queryWrapper.like(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "BETWEEN")
queryWrapper.between(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.getBeginParam("$JavaField"),pageQueryModel.getEndParam("$JavaField"));
#end #end #end
return this.list(queryWrapper);
}
}

View File

@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${packageName}.mapper.${ClassName}Mapper">
<resultMap type="${ClassName}" id="${ClassName}Result">
<resultMap type="${packageName}.domain.${ClassName}" id="${ClassName}Result">
#foreach ($column in $columns)
<result property="${column.javaField}" column="${column.columnName}" />
#end
@ -21,115 +21,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#end
</resultMap>
#end
<sql id="select${ClassName}Vo">
select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end from ${tableName}
</sql>
<select id="select${ClassName}List" parameterType="${ClassName}" resultMap="${ClassName}Result">
<include refid="select${ClassName}Vo"/>
<where>
#foreach($column in $columns)
#set($queryType=$column.queryType)
#set($javaField=$column.javaField)
#set($javaType=$column.javaType)
#set($columnName=$column.columnName)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.query)
#if($column.queryType == "EQ")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName = #{$javaField}</if>
#elseif($queryType == "NE")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName != #{$javaField}</if>
#elseif($queryType == "GT")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &gt; #{$javaField}</if>
#elseif($queryType == "GTE")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &gt;= #{$javaField}</if>
#elseif($queryType == "LT")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &lt; #{$javaField}</if>
#elseif($queryType == "LTE")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &lt;= #{$javaField}</if>
#elseif($queryType == "LIKE")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName like concat('%', #{$javaField}, '%')</if>
#elseif($queryType == "BETWEEN")
<if test="params.begin$AttrName != null and params.begin$AttrName != '' and params.end$AttrName != null and params.end$AttrName != ''"> and $columnName between #{params.begin$AttrName} and #{params.end$AttrName}</if>
#end
#end
#end
</where>
</select>
<select id="select${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}" resultMap="#if($table.sub)${ClassName}${subClassName}Result#else${ClassName}Result#end">
#if($table.crud || $table.tree)
<include refid="select${ClassName}Vo"/>
where ${pkColumn.columnName} = #{${pkColumn.javaField}}
#elseif($table.sub)
select#foreach($column in $columns) a.$column.columnName#if($foreach.count != $columns.size()),#end#end,
#foreach($column in $subTable.columns) b.$column.columnName as sub_$column.columnName#if($foreach.count != $subTable.columns.size()),#end#end
from ${tableName} a
left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName}
where a.${pkColumn.columnName} = #{${pkColumn.javaField}}
#end
</select>
<insert id="insert${ClassName}" parameterType="${ClassName}"#if($pkColumn.increment) useGeneratedKeys="true" keyProperty="$pkColumn.javaField"#end>
insert into ${tableName}
<trim prefix="(" suffix=")" suffixOverrides=",">
#foreach($column in $columns)
#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)
<if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName,</if>
#end
#end
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#foreach($column in $columns)
#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)
<if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">#{$column.javaField},</if>
#end
#end
</trim>
</insert>
<update id="update${ClassName}" parameterType="${ClassName}">
update ${tableName}
<trim prefix="SET" suffixOverrides=",">
#foreach($column in $columns)
#if($column.columnName != $pkColumn.columnName)
<if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName = #{$column.javaField},</if>
#end
#end
</trim>
where ${pkColumn.columnName} = #{${pkColumn.javaField}}
</update>
<delete id="delete${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}">
delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}}
</delete>
<delete id="delete${ClassName}By${pkColumn.capJavaField}s" parameterType="String">
delete from ${tableName} where ${pkColumn.columnName} in
<foreach item="${pkColumn.javaField}" collection="array" open="(" separator="," close=")">
#{${pkColumn.javaField}}
</foreach>
</delete>
#if($table.sub)
<delete id="delete${subClassName}By${subTableFkClassName}s" parameterType="String">
delete from ${subTableName} where ${subTableFkName} in
<foreach item="${subTableFkclassName}" collection="array" open="(" separator="," close=")">
#{${subTableFkclassName}}
</foreach>
</delete>
<delete id="delete${subClassName}By${subTableFkClassName}" parameterType="${pkColumn.javaType}">
delete from ${subTableName} where ${subTableFkName} = #{${subTableFkclassName}}
</delete>
<insert id="batch${subClassName}">
insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end) values
<foreach item="item" index="index" collection="list" separator=",">
(#foreach($column in $subTable.columns) #{item.$column.javaField}#if($foreach.count != $subTable.columns.size()),#end#end)
</foreach>
</insert>
#end
</mapper>