From 7c8d062d5821a77e14077c5116868d79ca63fa99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Fri, 14 Feb 2020 13:27:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8=20=E9=80=82=E9=85=8D=20MybatisPlus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/vm/java/controller.java.vm | 163 +++++++++++++----- .../src/main/resources/vm/java/domain.java.vm | 71 +++----- .../src/main/resources/vm/java/mapper.java.vm | 53 +----- .../main/resources/vm/java/service.java.vm | 53 +----- .../resources/vm/java/serviceImpl.java.vm | 97 +---------- ruoyi/src/main/resources/vm/xml/mapper.xml.vm | 81 --------- 6 files changed, 160 insertions(+), 358 deletions(-) diff --git a/ruoyi/src/main/resources/vm/java/controller.java.vm b/ruoyi/src/main/resources/vm/java/controller.java.vm index ba4ec9f2..1998c39d 100644 --- a/ruoyi/src/main/resources/vm/java/controller.java.vm +++ b/ruoyi/src/main/resources/vm/java/controller.java.vm @@ -1,6 +1,12 @@ package ${packageName}.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + import java.util.List; +import java.util.Arrays; + +import com.ruoyi.common.utils.StringUtils; +import lombok.AllArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -22,82 +28,159 @@ import com.ruoyi.framework.web.page.TableDataInfo; /** * ${functionName}Controller - * + * * @author ${author} * @date ${datetime} */ +@AllArgsConstructor @RestController -@RequestMapping("/${moduleName}/${businessName}") -public class ${ClassName}Controller extends BaseController -{ - @Autowired - private I${ClassName}Service ${className}Service; +@RequestMapping("/${moduleName}/${businessName}" ) +public class ${ClassName}Controller extends BaseController { + + private final I${ClassName}Service i${ClassName}Service; /** * 查询${functionName}列表 */ - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") - @GetMapping("/list") - public TableDataInfo list(${ClassName} ${className}) - { + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')" ) + @GetMapping("/list" ) + public TableDataInfo list(${ClassName} ${className}) { startPage(); - List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); + LambdaQueryWrapper<${ClassName}> lqw = new LambdaQueryWrapper<${ClassName}>(); +#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($javaType == 'String') + if (StringUtils.isNotBlank(${className}.get$AttrName())){ + lqw.eq(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#else + if (${className}.get$AttrName() != null){ + lqw.eq(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#end +#elseif($queryType == "NE") +#if($javaType == 'String') + if (StringUtils.isNotBlank(${className}.get$AttrName())){ + lqw.ne(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#else + if (${className}.get$AttrName() != null){ + lqw.ne(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#end +#elseif($queryType == "GT") +#if($javaType == 'String') + if (StringUtils.isNotBlank(${className}.get$AttrName())){ + lqw.gt(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#else + if (${className}.get$AttrName() != null){ + lqw.gt(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#end +#elseif($queryType == "GTE") +#if($javaType == 'String') + if (StringUtils.isNotBlank(${className}.get$AttrName())){ + lqw.ge(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#else + if (${className}.get$AttrName() != null){ + lqw.ge(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#end +#elseif($queryType == "LT") +#if($javaType == 'String') + if (StringUtils.isNotBlank(${className}.get$AttrName())){ + lqw.lt(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#else + if (${className}.get$AttrName() != null){ + lqw.lt(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#end +#elseif($queryType == "LTE") +#if($javaType == 'String') + if (StringUtils.isNotBlank(${className}.get$AttrName())){ + lqw.le(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#else + if (${className}.get$AttrName() != null){ + lqw.le(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#end +#elseif($queryType == "LIKE") +#if($javaType == 'String') + if (StringUtils.isNotBlank(${className}.get$AttrName())){ + lqw.like(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#else + if (${className}.get$AttrName() != null){ + lqw.like(${ClassName}::get$AttrName ,${className}.get$AttrName()); + } +#end +#elseif($queryType == "BETWEEN") +#end +#end +#end + List<${ClassName}> list = i${ClassName}Service.list(lqw); return getDataTable(list); } /** * 导出${functionName}列表 */ - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')") - @Log(title = "${functionName}", businessType = BusinessType.EXPORT) - @GetMapping("/export") - public AjaxResult export(${ClassName} ${className}) - { - List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); - ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class); - return util.exportExcel(list, "${businessName}"); + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')" ) + @Log(title = "${functionName}" , businessType = BusinessType.EXPORT) + @GetMapping("/export" ) + public AjaxResult export(${ClassName} ${className}) { + LambdaQueryWrapper<${ClassName}> lqw = new LambdaQueryWrapper<${ClassName}>(${className}); + List<${ClassName}> list = i${ClassName}Service.list(lqw); + ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}. class); + return util.exportExcel(list, "${businessName}" ); } /** * 获取${functionName}详细信息 */ - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") - @GetMapping(value = "/{${pkColumn.javaField}}") - public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) - { - return AjaxResult.success(${className}Service.select${ClassName}ById(${pkColumn.javaField})); + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')" ) + @GetMapping(value = "/{${pkColumn.javaField}}" ) + public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}" ) ${pkColumn.javaType} ${pkColumn.javaField}) { + return AjaxResult.success(i${ClassName}Service.getById(${pkColumn.javaField})); } /** * 新增${functionName} */ - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") - @Log(title = "${functionName}", businessType = BusinessType.INSERT) + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')" ) + @Log(title = "${functionName}" , businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody ${ClassName} ${className}) - { - return toAjax(${className}Service.insert${ClassName}(${className})); + public AjaxResult add(@RequestBody ${ClassName} ${className}) { + return toAjax(i${ClassName}Service.save(${className}) ? 1 : 0); } /** * 修改${functionName} */ - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") - @Log(title = "${functionName}", businessType = BusinessType.UPDATE) + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')" ) + @Log(title = "${functionName}" , businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody ${ClassName} ${className}) - { - return toAjax(${className}Service.update${ClassName}(${className})); + public AjaxResult edit(@RequestBody ${ClassName} ${className}) { + return toAjax(i${ClassName}Service.updateById(${className}) ? 1 : 0); } /** * 删除${functionName} */ - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") - @Log(title = "${functionName}", businessType = BusinessType.DELETE) - @DeleteMapping("/{${pkColumn.javaField}s}") - public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) - { - return toAjax(${className}Service.delete${ClassName}ByIds(${pkColumn.javaField}s)); + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')" ) + @Log(title = "${functionName}" , businessType = BusinessType.DELETE) + @DeleteMapping("/{${pkColumn.javaField}s}" ) + public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) { + return toAjax(i${ClassName}Service.removeByIds(Arrays.asList(${pkColumn.javaField}s)) ? 1 : 0); } } diff --git a/ruoyi/src/main/resources/vm/java/domain.java.vm b/ruoyi/src/main/resources/vm/java/domain.java.vm index 23240c80..0ea5a609 100644 --- a/ruoyi/src/main/resources/vm/java/domain.java.vm +++ b/ruoyi/src/main/resources/vm/java/domain.java.vm @@ -1,26 +1,39 @@ package ${packageName}.domain; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; import com.ruoyi.framework.aspectj.lang.annotation.Excel; -import com.ruoyi.framework.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; #foreach ($import in $importList) import ${import}; #end /** * ${functionName}对象 ${tableName} - * + * * @author ${author} * @date ${datetime} */ -#set($Entity="BaseEntity") -public class ${ClassName} extends ${Entity} -{ - private static final long serialVersionUID = 1L; +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("${tableName}") +public class ${ClassName} implements Serializable { + +private static final long serialVersionUID=1L; #foreach ($column in $columns) -#if(!$table.isSuperColumn($column.javaField)) + /** $column.columnComment */ #if($column.list) #set($parentheseIndex=$column.columnComment.indexOf("(")) @@ -30,47 +43,19 @@ public class ${ClassName} extends ${Entity} #set($comment=$column.columnComment) #end #if($parentheseIndex != -1) - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()") #elseif($column.javaType == 'Date') - @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "${comment}" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") #else @Excel(name = "${comment}") #end #end +#if($column.isPk==1) + @TableId(value = "$column.columnName", type = IdType.AUTO) private $column.javaType $column.javaField; - -#end -#end -#foreach ($column in $columns) -#if(!$table.isSuperColumn($column.javaField)) -#if($column.javaField > 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 - public void set${AttrName}($column.javaType $column.javaField) - { - this.$column.javaField = $column.javaField; - } - - public $column.javaType get${AttrName}() - { - return $column.javaField; - } + private $column.javaType $column.javaField; #end #end - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) -#foreach ($column in $columns) -#if($column.javaField > 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 - .append("${column.javaField}", get${AttrName}()) -#end - .toString(); - } } diff --git a/ruoyi/src/main/resources/vm/java/mapper.java.vm b/ruoyi/src/main/resources/vm/java/mapper.java.vm index dc3a5df5..bba2b15f 100644 --- a/ruoyi/src/main/resources/vm/java/mapper.java.vm +++ b/ruoyi/src/main/resources/vm/java/mapper.java.vm @@ -1,61 +1,14 @@ package ${packageName}.mapper; import ${packageName}.domain.${ClassName}; -import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * ${functionName}Mapper接口 - * + * * @author ${author} * @date ${datetime} */ -public interface ${ClassName}Mapper -{ - /** - * 查询${functionName} - * - * @param ${pkColumn.javaField} ${functionName}ID - * @return ${functionName} - */ - public ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}); +public interface ${ClassName}Mapper extends BaseMapper<${ClassName}> { - /** - * 查询${functionName}列表 - * - * @param ${className} ${functionName} - * @return ${functionName}集合 - */ - public List<${ClassName}> select${ClassName}List(${ClassName} ${className}); - - /** - * 新增${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - public int insert${ClassName}(${ClassName} ${className}); - - /** - * 修改${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - public int update${ClassName}(${ClassName} ${className}); - - /** - * 删除${functionName} - * - * @param ${pkColumn.javaField} ${functionName}ID - * @return 结果 - */ - public int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}); - - /** - * 批量删除${functionName} - * - * @param ${pkColumn.javaField}s 需要删除的数据ID - * @return 结果 - */ - public int delete${ClassName}ByIds(${pkColumn.javaType}[] ${pkColumn.javaField}s); } diff --git a/ruoyi/src/main/resources/vm/java/service.java.vm b/ruoyi/src/main/resources/vm/java/service.java.vm index 678f6dca..91cb68de 100644 --- a/ruoyi/src/main/resources/vm/java/service.java.vm +++ b/ruoyi/src/main/resources/vm/java/service.java.vm @@ -1,61 +1,14 @@ package ${packageName}.service; import ${packageName}.domain.${ClassName}; -import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; /** * ${functionName}Service接口 - * + * * @author ${author} * @date ${datetime} */ -public interface I${ClassName}Service -{ - /** - * 查询${functionName} - * - * @param ${pkColumn.javaField} ${functionName}ID - * @return ${functionName} - */ - public ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}); +public interface I${ClassName}Service extends IService<${ClassName}> { - /** - * 查询${functionName}列表 - * - * @param ${className} ${functionName} - * @return ${functionName}集合 - */ - public List<${ClassName}> select${ClassName}List(${ClassName} ${className}); - - /** - * 新增${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - public int insert${ClassName}(${ClassName} ${className}); - - /** - * 修改${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - public int update${ClassName}(${ClassName} ${className}); - - /** - * 批量删除${functionName} - * - * @param ${pkColumn.javaField}s 需要删除的${functionName}ID - * @return 结果 - */ - public int delete${ClassName}ByIds(${pkColumn.javaType}[] ${pkColumn.javaField}s); - - /** - * 删除${functionName}信息 - * - * @param ${pkColumn.javaField} ${functionName}ID - * @return 结果 - */ - public int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}); } diff --git a/ruoyi/src/main/resources/vm/java/serviceImpl.java.vm b/ruoyi/src/main/resources/vm/java/serviceImpl.java.vm index 9f8c53f1..8fd39149 100644 --- a/ruoyi/src/main/resources/vm/java/serviceImpl.java.vm +++ b/ruoyi/src/main/resources/vm/java/serviceImpl.java.vm @@ -1,109 +1,18 @@ package ${packageName}.service.impl; -import java.util.List; -#foreach ($column in $columns) -#if($column.javaField == 'createTime' || $column.javaField == 'updateTime') -import com.ruoyi.common.utils.DateUtils; -#break -#end -#end -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import ${packageName}.mapper.${ClassName}Mapper; import ${packageName}.domain.${ClassName}; import ${packageName}.service.I${ClassName}Service; /** * ${functionName}Service业务层处理 - * + * * @author ${author} * @date ${datetime} */ @Service -public class ${ClassName}ServiceImpl implements I${ClassName}Service -{ - @Autowired - private ${ClassName}Mapper ${className}Mapper; +public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service { - /** - * 查询${functionName} - * - * @param ${pkColumn.javaField} ${functionName}ID - * @return ${functionName} - */ - @Override - public ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}) - { - return ${className}Mapper.select${ClassName}ById(${pkColumn.javaField}); - } - - /** - * 查询${functionName}列表 - * - * @param ${className} ${functionName} - * @return ${functionName} - */ - @Override - public List<${ClassName}> select${ClassName}List(${ClassName} ${className}) - { - return ${className}Mapper.select${ClassName}List(${className}); - } - - /** - * 新增${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - @Override - public int insert${ClassName}(${ClassName} ${className}) - { -#foreach ($column in $columns) -#if($column.javaField == 'createTime') - ${className}.setCreateTime(DateUtils.getNowDate()); -#end -#end - return ${className}Mapper.insert${ClassName}(${className}); - } - - /** - * 修改${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - @Override - public int update${ClassName}(${ClassName} ${className}) - { -#foreach ($column in $columns) -#if($column.javaField == 'updateTime') - ${className}.setUpdateTime(DateUtils.getNowDate()); -#end -#end - return ${className}Mapper.update${ClassName}(${className}); - } - - /** - * 批量删除${functionName} - * - * @param ${pkColumn.javaField}s 需要删除的${functionName}ID - * @return 结果 - */ - @Override - public int delete${ClassName}ByIds(${pkColumn.javaType}[] ${pkColumn.javaField}s) - { - return ${className}Mapper.delete${ClassName}ByIds(${pkColumn.javaField}s); - } - - /** - * 删除${functionName}信息 - * - * @param ${pkColumn.javaField} ${functionName}ID - * @return 结果 - */ - @Override - public int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}) - { - return ${className}Mapper.delete${ClassName}ById(${pkColumn.javaField}); - } } diff --git a/ruoyi/src/main/resources/vm/xml/mapper.xml.vm b/ruoyi/src/main/resources/vm/xml/mapper.xml.vm index 7d75aa3b..c1064fe1 100644 --- a/ruoyi/src/main/resources/vm/xml/mapper.xml.vm +++ b/ruoyi/src/main/resources/vm/xml/mapper.xml.vm @@ -10,86 +10,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #end - - select#foreach($column in $columns) $column.columnName#if($velocityCount != $columns.size()),#end#end from ${tableName} - - - - - - - insert into ${tableName} - -#foreach($column in $columns) -#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) - $column.columnName, -#end -#end - - -#foreach($column in $columns) -#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) - #{$column.javaField}, -#end -#end - - - - - update ${tableName} - -#foreach($column in $columns) -#if($column.columnName != $pkColumn.columnName) - $column.columnName = #{$column.javaField}, -#end -#end - - where ${pkColumn.columnName} = #{${pkColumn.javaField}} - - - - delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}} - - - - delete from ${tableName} where ${pkColumn.columnName} in - - #{${pkColumn.javaField}} - - - \ No newline at end of file