IDEA Easy Code使用记录

2023-05-16

下载安装(忽略)

设置

设置在idea的 Other Settings里面
分4个选项

  1. Type Mapper 类型映射(数据字段和java包装器映射)
  2. Template Setting 模板设置 默认会有Defult,MybatisPlus两个模板
  3. Table Editor Config 不知道
  4. Global Config 全局设置 (自己定义常量,函数)

语法

说明文档:
属性
$author 设置中的作者 java.lang.String
$modulePath 选中的module路径 java.lang.String
$projectPath 项目绝对路径 java.lang.String

对象
$tableInfo 表对象
    obj 表原始对象 com.intellij.database.model.DasTable
    name 表名(转换后的首字母大写)java.lang.String
    comment 表注释 java.lang.String
    fullColumn 所有列 java.util.List<ColumnInfo>
    pkColumn 主键列 java.util.List<ColumnInfo>
    otherColumn 其他列 java.util.List<ColumnInfo>,除主键以外的列
    savePackageName 保存的包名 java.lang.String
    savePath 保存路径 java.lang.String
    saveModelName 保存的model名称 java.lang.String
columnInfo 列对象
    obj 列原始对象 com.intellij.database.model.DasColumn
    name 列名(首字母小写) java.lang.String
    comment 列注释 java.lang.String
    type 列类型(类型全名) java.lang.String
    shortType 列类型(短类型) java.lang.String
    custom 是否附加列 java.lang.Boolean
    ext 附加字段(Map类型) java.lang.Map<java.lang.String, java.lang.Object>
$tableInfoList java.util.List<TableInfo>所有选中的表
$importList 所有需要导入的包集合 java.util.Set<java.lang.String>

回调
&callback 回调对象
    setFileName(String) 设置文件储存名字
    setSavePath(String) 设置文件储存路径,默认使用选中路径
    setReformat(Boolean) 设置是否重新格式化生成后的代码,默认为true

工具
$tool
    firstUpperCase(String name) 首字母大写方法
    firstLowerCase(String name) 首字母小写方法
    getClsNameByFullName(String fullName) 通过包全名获取类名
    getJavaName(String name) 将下划线分割字符串转驼峰命名(属性名)
    getClassName(String name) 将下划线分割字符串转驼峰命名(类名)
    hump2Underline(String str) 将驼峰字符串转下划线字符串
    append(Object... objs) 多个数据进行拼接
    newHashSet(Object... objs) 创建一个HashSet对象
    newArrayList(Object... objs) 创建一个ArrayList对象
    newLinkedHashMap() 创建一个LinkedHashMap()对象
    newHashMap() 创建一个HashMap()对象
    getField(Object obj, String fieldName) 获取对象的属性值,可以访问任意修饰符修饰的属性.配合debug方法使用.
    call(Object... objs) 空白执行方法,用于调用某些方法时消除返回值
    debug(Object obj) 调式方法,用于查询对象结构.可查看对象所有属性与public方法
    serial() 随机获取序列化的UID
    service(String serviceName, Object... param)远程服务调用
    parseJson(String) 将字符串转Map对象
    toJson(Object, Boolean) 将对象转json对象,Boolean:是否格式化json,不填时为不格式化。
    toUnicode(String, Boolean) 将String转换为unicode形式,Boolean:是否转换所有符号,不填时只转换中文及中文符号。
$time
    currTime(String format) 获取当前时间,指定时间格式(默认:yyyy-MM-dd HH:mm:ss)
$generateService
    run(String, Map<String,Object>) 代码生成服务,参数1:模板名称,参数2:附加参数。
$dasUtil Database提供的工具类,具体可方法请查看源码,适用于高端玩家
$dbUtil  Database提供的工具类,具体可方法请查看源码,适用于高端玩家

语法说明补充:

  1. $!define 引入全局变量
  2. ‘#’ 使用函数
  3. $ 调用对象

自己的模板

全局函数

##去除表前缀
#macro(removePrefix $prefix)
    #set($prefix = $tool.append($prefix, '_'))
    #set($length = $!prefix.length())
    $!tableInfo.setName($tool.getClassName($tableInfo.obj.name.substring($length)))
#end

##表除主键以外的字段按逗号拼接
#macro(getOtherColumn $otherColumn)
    #foreach($column in $tableInfo.otherColumn)
        #if(!$otherColumn.equals(''))
            #set($otherColumn = $tool.append($otherColumn, ','))
        #end
        #set($otherColumn = $tool.append($otherColumn, $column.getName()))
    #end
#end

##设置表名
#macro(setTableName $name)
    $!tableInfo.setName($name)
#end

##初始化,拼接后缀名,拼接首字母小写名,拼接集合名,拼接查询的方法名
#macro(init)

    #set($entity = $!tool.append($tableInfo.name, 'Entity'))
    #set($dto = $!tool.append($tableInfo.name, 'DTO'))
    #set($pageSearch = $!tool.append($tableInfo.name, 'PageSearch'))
    #set($search = $!tool.append($tableInfo.name, 'Search'))
    #set($service = $!tool.append($tableInfo.name, 'Service'))
    #set($serviceImpl = $!tool.append($tableInfo.name, 'ServiceImpl'))
    #set($mapper = $!tool.append($tableInfo.name, 'Mapper'))
    #set($controller = $!tool.append($tableInfo.name, 'Controller'))

    #set($lowerCaseEntity = $!tool.firstLowerCase($entity))
    #set($lowerCaseDto = $!tool.firstLowerCase($dto))
    #set($lowerCasePageSearch = $!tool.firstLowerCase($pageSearch))
    #set($lowerCaseSearch = $!tool.firstLowerCase($search))
    #set($lowerCaseService = $!tool.firstLowerCase($service))
    #set($lowerCasSserviceImpl = $!tool.firstLowerCase($serviceImpl))
    #set($lowerCaseMapper = $!tool.firstLowerCase($mapper))

    #set($entityList = $!tool.append($lowerCaseEntity, 'List'))
    #set($dtoList = $!tool.append($lowerCaseDto, 'List'))
    
    #set($listPagePrefix = $tool.append('listPage', $!tableInfo.getName()))
    #set($listPrefix = $tool.append('list', $!tableInfo.getName()))

    ##拿到主键
    #if(!$tableInfo.pkColumn.isEmpty())
        #set($pk = $tableInfo.pkColumn.get(0))
    #end
#end

全局变量

tablePrefix 表名前缀
company 公司名称
requestMapping 请求前缀

entity模板

$!define
$!me

## 去除表名前缀
#removePrefix($!tablePrefix)

#init()


##设置表名
#setTableName($entity)

##使用宏定义设置回调(保存位置与文件后缀)
#save("/pojo/entity", ".java")

##使用宏定义设置包后缀
#setPackageSuffix("pojo.entity")

##初始化除其他以外的字段
#set($otherColumn = '')
##赋值
#getOtherColumn($otherColumn)

#set($comment = $!tool.append($!tableInfo.getComment(), '实体类'))
#set($title = $!tool.append($entity, '.java<br>'))

import com.dsa.validate.annotation.Group;
import com.dsa.validate.constant.GroupConstant;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.*;

/**
 * $comment
 * $title
 * Description: <br>
 * Copyright: Copyright (c) 2020<br>
 * Company: $!company
 * @author $!author
 * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Group(name = GroupConstant.ADD, fields = "$otherColumn")
@Group(name = GroupConstant.EDIT, fields = "$pk.getName()")
@Group(name = GroupConstant.DEL, fields = "$pk.getName()")
public class $entity {
    
    #foreach($column in $tableInfo.fullColumn)
 #if(${column.comment})/**
      * ${column.comment}
      */#end
      
#set($flag = ${column.obj.isNotNull()})
#set($type = $!tool.getField($column.obj.dataType, "typeName"))
#set($length = $column.obj.dataType.getLength())
    #if($flag && $type.equals('varchar'))
 @NotBlank(message = "${column.comment}不能为空")
     @Size(min = 1, max = $length, message = "${column.comment}必须在1~$length之间")
     private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
        #elseif($flag) 
 @NotNull(message = "${column.comment}不能为空")
     private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
        #elseif($type.equals('varchar'))
 @Size(min = 1, max = $length, message = "${column.comment}必须在1~$length之间")
     private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
        #else
 private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    #end
        
    #end
} 

dto模板

$!define
$!me

## 去除表名前缀
#removePrefix($!tablePrefix)

#init()

##设置表名
#setTableName($dto)

##定义设置包名后缀的宏定义
#setPackageSuffix("pojo.dto")

##定义直接保存路径与文件名简化的宏定义
#save("/pojo/dto", ".java")

#set($comment = $!tool.append($!tableInfo.getComment(), 'DTO'))
#set($title = $!tool.append($dto, '.java<br>'))

import $tool.append($!tableInfo.getSavePackageName(), '.pojo.entity.', $entity, ';')
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * $comment
 * Title: $title
 * Description: <br>
 * Copyright: Copyright (c) 2020<br>
 * Company: $!company
 * @author $!author
 * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class $dto extends $entity {
    
}

search

$!define
$!me

## 去除表名前缀
#removePrefix($!tablePrefix)

#init()

##设置表名
#setTableName($search)

##定义设置包名后缀的宏定义
#setPackageSuffix("api.search")

##定义直接保存路径与文件名简化的宏定义
#save("/api/search", ".java")

#set($comment = $!tool.append($!tableInfo.getComment(), 'Search'))
#set($title = $!tool.append($search, '.java<br>'))

import lombok.Data;

/**
 * $comment
 * Title: $title
 * Description: <br>
 * Copyright: Copyright (c) 2020<br>
 * Company: $!company
 * @author $!author
 * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
 */
@Data
public class $search {
    
    /**
     * 文件名称
     */
    private String fileName;
    
}

pageSearch

$!define
$!me

## 去除表名前缀
#removePrefix($!tablePrefix)

#init()

##设置表名
#setTableName($pageSearch)

##定义设置包名后缀的宏定义
#setPackageSuffix("api.search")

##定义直接保存路径与文件名简化的宏定义
#save("/api/search", ".java")

#set($comment = $!tool.append($!tableInfo.getComment(), 'PageSearch'))
#set($title = $!tool.append($pageSearch, '.java<br>'))

import com.dsa.core.api.search.BaseSearch;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * $comment
 * Title: $title
 * Description: <br>
 * Copyright: Copyright (c) 2020<br>
 * Company: $!company
 * @author $!author
 * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class $pageSearch extends BaseSearch {
    
    
}

controller

$!define
$!me

## 去除表名前缀
#removePrefix($!tablePrefix)

#init()

##设置表名
#setTableName($controller)

##定义设置包名后缀的宏定义
#setPackageSuffix("api.controller")

##定义直接保存路径与文件名简化的宏定义
#save("/api/controller", ".java")

#set($comment = $!tool.append($!tableInfo.getComment(), '资源控制器'))
#set($title = $!tool.append($controller, '.java<br>'))

import com.dsa.core.api.response.ResponseBean;
import com.dsa.core.enums.UnicomResponseEnums;
import com.dsa.validate.annotation.ValiGroup;
import com.dsa.validate.constant.GroupConstant;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import $tool.append($!tableInfo.getSavePackageName(), '.pojo.dto.', $dto, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.service.', $service, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.service.', $service, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.api.search.', $pageSearch, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.api.search.', $search, ';')
import javax.annotation.Resource;
import java.util.List;
import javax.validation.constraints.NotEmpty;
import com.dsa.core.service.PageBean;
import javax.servlet.http.HttpServletResponse;

/**
 * $comment
 * Title: $title
 * Description: <br>
 * Copyright: Copyright (c) 2020<br>
 * Company: $!company
 * @author $!author
 * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
 */
@RestController
@RequestMapping(value = $!requestMapping)
@Validated
public class $controller {
    
    @Resource
    private $service $lowerCaseService;
    
    /**
     * 新增$!tableInfo.getComment()记录
     * @param $lowerCaseDto $!tool.append($!tableInfo.getComment(), 'DTO')
     * @return 新增数量
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @PostMapping(value = "/add")
    public ResponseBean<Integer> add(@RequestBody @ValiGroup(GroupConstant.ADD) $dto $lowerCaseDto) {
        Integer result = $tool.append($lowerCaseService, '.save(', $lowerCaseDto, ');')
        return new ResponseBean<>(UnicomResponseEnums.SUCCESS, result);
    }
    
    /**
     * 批量新增$!tableInfo.getComment()记录
     * @param $dtoList $!tool.append($!tableInfo.getComment(), 'DTO集合')
     * @return 新增数量
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @PostMapping(value = "/batchAdd")
    public ResponseBean<Integer> add(@RequestBody @ValiGroup(GroupConstant.ADD) @NotEmpty(message = "$!tool.append($!tableInfo.getComment(),
    'DTO集合', '不能为空')") List<$dto> $dtoList) {
        Integer result = $tool.append($lowerCaseService, '.save(', $dtoList, ');')
        return new ResponseBean<>(UnicomResponseEnums.SUCCESS, result);
    }
    
    /**
     * 更新$!tableInfo.getComment()记录
     * @param $lowerCaseDto $!tool.append($!tableInfo.getComment(), 'DTO')
     * @return 更新数量
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @PostMapping(value = "/edit")
    public ResponseBean<Integer> edit(@RequestBody @ValiGroup(GroupConstant.EDIT) $dto $lowerCaseDto) {
        Integer result = $tool.append($lowerCaseService, '.modify(', $lowerCaseDto, ');')
        return new ResponseBean<>(UnicomResponseEnums.SUCCESS, result);
    }
 
    /**
     * 删除$!tableInfo.getComment()记录
     * @param $lowerCaseDto $!tool.append($!tableInfo.getComment(), 'DTO')
     * @return 删除数量
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @PostMapping(value = "/remove")
    public ResponseBean<Integer> remove(@RequestBody @ValiGroup(GroupConstant.DEL) $dto $lowerCaseDto) {
        Integer result = $tool.append($lowerCaseService, '.remove(', $lowerCaseDto, ');')
        return new ResponseBean<>(UnicomResponseEnums.SUCCESS, result);
    }
    
    /**
     * 批量删除$!tableInfo.getComment()记录
     * @param $dtoList $!tool.append($!tableInfo.getComment(), 'DTO集合')
     * @return 删除数量
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @PostMapping(value = "/batchRemove")
    public ResponseBean<Integer> remove(@RequestBody @ValiGroup(GroupConstant.DEL) @NotEmpty(message = "$!tool.append($!tableInfo.getComment(),
    'DTO集合', '不能为空')") List<$dto> $dtoList) {
        Integer result = $tool.append($lowerCaseService, '.remove(', $dtoList, ');')
        return new ResponseBean<>(UnicomResponseEnums.SUCCESS, result);
    }
    
    /**
     * 分页查询$!tableInfo.getComment()记录
     * @param $lowerCasePageSearch $!tool.append($!tableInfo.getComment(), 'PageSearch')
     * @return $!tableInfo.getComment()集合
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @PostMapping(value = "/search")
    public ResponseBean<PageBean<LinkageConfigDTO>> search(@RequestBody $pageSearch $lowerCasePageSearch) {
        PageBean<$dto> result = $tool.append($lowerCaseService, '.', $listPagePrefix, 's(', $lowerCasePageSearch, ');')
        return new ResponseBean<>(UnicomResponseEnums.SUCCESS, result);
    }
    
    /**
     * 查询$!tableInfo.getComment()记录
     * @param $lowerCaseSearch $!tool.append($!tableInfo.getComment(), 'Search')
     * @return $!tableInfo.getComment()集合
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @PostMapping(value = "/list")
    public ResponseBean<List<$dto>> list(@RequestBody $search $lowerCaseSearch) {
        List<$dto> result = $tool.append($lowerCaseService, '.', $listPrefix, 's(', $lowerCaseSearch, ');')
        return new ResponseBean<>(UnicomResponseEnums.SUCCESS, result);
    }
    
    /**
     * 导出$!tableInfo.getComment()记录
     * @param $lowerCaseSearch $!tool.append($!tableInfo.getComment(), 'Search')
     * @param response 响应
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @PostMapping(value = "export")
    public void export(@RequestBody $search $lowerCaseSearch, HttpServletResponse response) {
        $tool.append($lowerCaseService, '.export(', $lowerCaseSearch,  ', response);')
    }
    
}

service

$!define
$!me

## 去除表名前缀
#removePrefix($!tablePrefix)


#setTableSuffix("Service")
#set($service = $tableName)

#init()

##设置表名
#setTableName($service)

##定义设置包名后缀的宏定义
#setPackageSuffix("service")

##定义直接保存路径与文件名简化的宏定义
#save("/service", ".java")

#set($comment = $!tool.append($!tableInfo.getComment(), '资源服务接口'))
#set($title = $!tool.append($service, '.java<br>'))

import java.util.List;
import $tool.append($!tableInfo.getSavePackageName(), '.pojo.dto.', $dto, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.api.search.', $pageSearch, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.api.search.', $search, ';')
import com.dsa.core.service.PageBean;
import javax.servlet.http.HttpServletResponse;

/**
* $comment
* Title: $title
* Description: <br>
* Copyright: Copyright (c) 2020<br>
* Company: $!company
* @author $!author
* @create $time.currTime("yyyy-MM-dd")
*/
public interface $service {
    
    /**
     * 保存$!tableInfo.getComment()记录
     * @param $lowerCaseDto $!tool.append($!tableInfo.getComment(), 'DTO')
     * @return 插入条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer save($dto $lowerCaseDto);
    
    /**
     * 批量保存$!tableInfo.getComment()记录
     * @param $dtoList $!tool.append($!tableInfo.getComment(), 'DTO集合')
     * @return 插入条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer save(List<$dto> $dtoList);
    
    /**
     * 更新$!tableInfo.getComment()记录
     * @param $lowerCaseDto $!tool.append($!tableInfo.getComment(), 'DTO集合')
     * @return 更新条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer modify($dto $lowerCaseDto);
    
    /**
     * 删除$!tableInfo.getComment()记录
     * @param $lowerCaseDto $!tool.append($!tableInfo.getComment(), 'DTO')
     * @return 删除条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer remove($dto $lowerCaseDto);
    
    /**
     * 批量删除$!tableInfo.getComment()记录
     * @param $dtoList $!tool.append($!tableInfo.getComment(), 'DTO集合')
     * @return 删除条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer remove(List<$dto> $dtoList);
    
    /**
     * 分页查询$!tableInfo.getComment()记录
     * @param $lowerCasePageSearch $!tool.append($!tableInfo.getComment(), 'PageSearch')
     * @return $!tableInfo.getComment()集合
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    PageBean<$dto> $tool.append($listPagePrefix, 's')($pageSearch $lowerCasePageSearch);
    
    /**
     * 查询$!tableInfo.getComment()记录
     * @param $lowerCaseSearch $!tool.append($!tableInfo.getComment(), 'Search')
     * @return $!tableInfo.getComment()集合
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    List<$dto> $tool.append($listPrefix, 's')($search $lowerCaseSearch);
    
    /**
     * 导出$!tableInfo.getComment()记录
     * @param $lowerCaseSearch $!tool.append($!tableInfo.getComment(), 'Search')
     * @param response 响应
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    void export($search $lowerCaseSearch, HttpServletResponse response);
    
}

serviceImpl

$!define
$!me

## 去除表名前缀
#removePrefix($!tablePrefix)

#init()

##设置表名
#setTableName($serviceImpl)

##定义设置包名后缀的宏定义
#setPackageSuffix("service.impl")

##定义直接保存路径与文件名简化的宏定义
#save("/service/impl", ".java")

#set($comment = $!tool.append($!tableInfo.getComment(), '资源服务接口实现类'))
#set($title = $!tool.append($serviceImpl, '.java<br>'))

import $tool.append($!tableInfo.getSavePackageName(), '.pojo.dto.', $dto, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.pojo.entity.', $enetity, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.dao.', $mapper, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.service.', $service, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.api.search.', $pageSearch, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.api.search.', $search, ';')
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.dsa.core.service.PageBean;
import cn.hutool.poi.excel.BigExcelWriter;
import cn.hutool.poi.excel.ExcelUtil;
import java.io.IOException;
import java.io.OutputStream;
import java.util.LinkedHashMap;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.io.IoUtil;

/**
 * $comment
 * Title: $title
 * Description: <br>
 * Copyright: Copyright (c) 2020<br>
 * Company: $!company
 * @author $!author
 * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
 */
@Service
public class $serviceImpl implements $service {
    
    @Resource
    private $mapper $lowerCaseMapper;
    
    /**
     * 标题
     */
    private static final String TITLE = "";
    
    /**
     * 保存$!tableInfo.getComment()记录
     * @param $lowerCaseDto $!tool.append($!tableInfo.getComment(), 'DTO')
     * @return 插入条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @Override
    public Integer save($dto $lowerCaseDto) {
        $entity entity = new $entity();
#foreach($column in $tableInfo.otherColumn)
        #set($upperCaseName = $tool.firstUpperCase($column.name))
        $tool.append('entity.set',$upperCaseName, '(', $lowerCaseDto, '.get', $upperCaseName, '());')
#end
        return $tool.append($lowerCaseMapper, '.insert(entity);')
    }
    
    /**
     * 批量保存$!tableInfo.getComment()记录
     * @param $dtoList $!tool.append($!tableInfo.getComment(), 'DTO集合')
     * @return 插入条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @Override
    public Integer save(List<$dto> $dtoList) {
        List<$entity> entityList = new ArrayList<>();
        $entity entity;
        for ($dto $lowerCaseDto: $dtoList) {
            entity = new $entity();
#foreach($column in $tableInfo.otherColumn)
            #set($upperCaseName = $tool.firstUpperCase($column.name))
            $tool.append('entity.set',$upperCaseName, '(', $lowerCaseDto, '.get', $upperCaseName, '());')
#end
            entityList.add(entity);
        }
        return $tool.append($lowerCaseMapper, '.batchInsert(entityList);')
    }
    
    /**
     * 更新$!tableInfo.getComment()记录
     * @param $lowerCaseDto $!tool.append($!tableInfo.getComment(), 'DTO')
     * @return 更新条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @Override
    public Integer modify($dto $lowerCaseDto) {
        $entity entity = new $entity();
#foreach($column in $tableInfo.fullColumn)
        #set($upperCaseName = $tool.firstUpperCase($column.name))
        $tool.append('entity.set',$upperCaseName, '(', $lowerCaseDto, '.get', $upperCaseName, '());')
#end
        return $tool.append($lowerCaseMapper, '.update(entity);')
    }
    
    /**
     * 删除$!tableInfo.getComment()记录
     * @param $lowerCaseDto $!tool.append($!tableInfo.getComment(), 'DTO')
     * @return 删除条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @Override
    public Integer remove($dto $lowerCaseDto) {
        $entity entity = new $entity();
        #set($upperCaseName = $tool.firstUpperCase($pk.name))
$tool.append('entity.set',$upperCaseName, '(', $lowerCaseDto, '.get', $upperCaseName, '());')
        return $tool.append($lowerCaseMapper, '.delete(entity);')
    }
    
    /**
     * 批量删除$!tableInfo.getComment()记录
     * @param $dtoList $!tool.append($!tableInfo.getComment(), 'DTO集合')
     * @return 删除条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @Override
    public Integer remove(List<$dto> $dtoList) {
        List<$entity> entityList = new ArrayList<>();
        $entity entity;
        for ($dto $lowerCaseDto: $dtoList) {
            entity = new $entity();
            #set($upperCaseName = $tool.firstUpperCase($pk.name))
$tool.append('entity.set',$upperCaseName, '(', $lowerCaseDto, '.get', $upperCaseName, '());')
            entityList.add(entity);
        }
        return $tool.append($lowerCaseMapper, '.batchDelete(entityList);')
    }
    
    /**
     * 分页查询$!tableInfo.getComment()记录
     * @param $lowerCasePageSearch $!tool.append($!tableInfo.getComment(), 'PageSearch')
     * @return $!tableInfo.getComment()集合
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @Override
    public PageBean<$dto> $tool.append($listPagePrefix, 's')($pageSearch $lowerCasePageSearch) {
        PageHelper.startPage($tool.append($lowerCasePageSearch,'.getPageNum()', ', ', $tool.append($lowerCasePageSearch,'.getPageSize()')));
        List<$dto> result = $tool.append($lowerCaseMapper, '.select', $tool.firstUpperCase($listPagePrefix))($lowerCasePageSearch);
        return new PageBean<>(result);
    }
    
    /**
     * 查询$!tableInfo.getComment()记录
     * @param $lowerCaseSearch $!tool.append($!tableInfo.getComment(), 'Search')
     * @return $!tableInfo.getComment()集合
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @Override
    public List<$dto> $tool.append($listPrefix, 's')($search $lowerCaseSearch) {
        return $tool.append($lowerCaseMapper, '.select', $tool.firstUpperCase($listPrefix))($lowerCaseSearch);
    }
    
    /**
     * 导出$!tableInfo.getComment()记录
     * @param $lowerCaseSearch $!tool.append($!tableInfo.getComment(), 'Search')
     * @param response 响应
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    @Override
    public void export($search $lowerCaseSearch, HttpServletResponse response) {
        List<$dto> result = $tool.append($lowerCaseMapper, '.select', $tool.firstUpperCase($listPrefix))($lowerCaseSearch);
        String fileName = $tool.append($lowerCaseSearch, '.getFileName()') + System.currentTimeMillis() + ".xlsx";
        
        // 标头map TODO 待加入
        Map<String, String> headMap = new LinkedHashMap<>(16);
        
        export(result, headMap, fileName, response);
    }
    
    /**
     * 导出$!tableInfo.getComment()记录方法
     * @param dataList 写入数据
     * @param headMap 标头
     * @param fileName 文件名
     * @param response 响应
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    private synchronized void export(List<$dto> dataList, Map<String,String> headMap, String fileName, HttpServletResponse response) {
        BigExcelWriter writer = ExcelUtil.getBigWriter(fileName, "sheet1");
        writer.setOnlyAlias(true);
        writer.getWorkbook().getSheet("sheet1").setDefaultColumnWidth(25);
        writer.getWorkbook().getSheet("sheet1").setDefaultRowHeightInPoints(20);
        
        for (Map.Entry<String, String> entry : headMap.entrySet()) {
            writer.addHeaderAlias(entry.getKey(), entry.getValue());
        }
        writer.merge(3, TITLE);
        writer.write(dataList, true);
        
        try {
            OutputStream os = response.getOutputStream();
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
            response.setCharacterEncoding("UTF-8");
            response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(fileName, "utf-8"));
            writer.flush(os, true);
            IoUtil.close(os);
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }
    
}

mapper

$!define
$!me

## 去除表名前缀
#removePrefix($!tablePrefix)

#init()

##设置表名
#setTableName($mapper)

##定义设置包名后缀的宏定义
#setPackageSuffix("dao")

##定义直接保存路径与文件名简化的宏定义
#save("/dao", ".java")

#set($comment = $!tool.append($!tableInfo.getComment(), '持久层映射器'))
#set($title = $!tool.append($mapper, '.java<br>'))

import $tool.append($!tableInfo.getSavePackageName(), '.pojo.entity.', $entity, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.pojo.dto.', $dto, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.api.search.', $pageSearch, ';')
import $tool.append($!tableInfo.getSavePackageName(), '.api.search.', $search, ';')
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * $comment
 * Title: $title
 * Description: <br>
 * Copyright: Copyright (c) 2020<br>
 * Company: $!company
 * @author $!author
 * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
 */
@Repository
public interface $mapper {
    
    /**
     * 保存$!tableInfo.getComment()记录
     * @param $lowerCaseEntity $!tool.append($!tableInfo.getComment(), '实体类')
     * @return java.lang.Integer 插入条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer insert($entity $lowerCaseEntity);
    
    /**
     * 批量保存$!tableInfo.getComment()记录
     * @param $entityList $!tool.append($!tableInfo.getComment(), '实体类集合')
     * @return java.lang.Integer 插入条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer batchInsert(List<$entity> $entityList);
    
    /**
     * 更新$!tableInfo.getComment()记录
     * @param $lowerCaseEntity $!tool.append($!tableInfo.getComment(), '实体类')
     * @return java.lang.Integer 更新条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer update($entity $lowerCaseEntity);
    
    /**
     * 删除报警联动配置
     * @param $lowerCaseEntity $!tool.append($!tableInfo.getComment(), '实体类')
     * @return java.lang.Integer 删除条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer delete($entity $lowerCaseEntity);
    
    /**
     * 批量删除$!tableInfo.getComment()记录
     * @param $entityList $!tool.append($!tableInfo.getComment(), '实体类集合')
     * @return java.lang.Integer 删除条数
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    Integer batchDelete(List<$entity> $entityList);
    
    /**
     * 分页查询$!tableInfo.getComment()记录
     * @param $lowerCasePageSearch $!tool.append($!tableInfo.getComment(), 'PageSearch')
     * @return $!tableInfo.getComment()集合
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    List<$dto> $tool.append('select', $tool.firstUpperCase($listPagePrefix))($pageSearch $lowerCasePageSearch);
    
    /**
     * 查询$!tableInfo.getComment()记录
     * @param $lowerCaseSearch $!tool.append($!tableInfo.getComment(), 'Search')
     * @return $!tableInfo.getComment()集合
     * @author $!author
     * @create $time.currTime("yyyy-MM-dd HH:mm:ss")
     */
    List<$dto> $tool.append('select', $tool.firstUpperCase($listPrefix))($search $lowerCaseSearch);
    
}

mapper

##引入mybatis支持
$!mybatisSupport
$!define
$!me

## 去除表名前缀
#removePrefix($!tablePrefix)

#init()

#set($entityPath = $tool.append($!tableInfo.getSavePackageName(), '.pojo.entity.', $entity))
#setTableSuffix("Map")
#set($map = $tool.firstLowerCase($tableName))


##设置保存名称与保存位置
$!callback.setFileName($tool.append($!{tableInfo.name}, "Mapper.xml"))
$!callback.setSavePath($tool.append($modulePath, "/src/main/resources/mapper/", $!tablePrefix))

<?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}.dao.$!{mapper}">
    
    <resultMap id = "$!map" type = "$!entityPath">
#foreach($column in $tableInfo.fullColumn)
        <result property="$!column.name" column="$!column.obj.name" jdbcType="$!column.ext.jdbcType"/>
#end
    </resultMap>
    
    <select id= "$tool.append('select', $tool.firstUpperCase($listPagePrefix))" resultMap= "$!map">
        SELECT
            #allSqlColumn()
        
        FROM
            $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}
    </select>
    
    <select id= "$tool.append('select', $tool.firstUpperCase($listPrefix))" resultMap= "$!map">
        SELECT
            #allSqlColumn()
        
        FROM
            $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}
    </select>
    
    <insert id = "insert" keyProperty="$!pk.name" useGeneratedKeys="true">
        INSERT INTO $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}
        <trim prefix="(" suffix=")" suffixOverrides=",">
#foreach($column in $tableInfo.otherColumn)
            <if test="$!column.name != null #if($column.type.equals("java.lang.String"))and $!column.name != ''#end">
                $!column.obj.name,
            </if>
#end
        </trim>
        <trim prefix="VALUES (" suffix=")" suffixOverrides=",">
#foreach($column in $tableInfo.otherColumn)
            <if test="$!column.name != null #if($column.type.equals("java.lang.String"))and $!column.name != ''#end">
                #{$!column.name, jdbcType=$!column.ext.jdbcType},
            </if>
#end
        </trim>
    </insert>
    
    <insert id = "batchInsert" keyProperty="$!pk.name" useGeneratedKeys="true">
        INSERT INTO $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}
            <trim prefix="(" suffix=")" suffixOverrides=",">
    #foreach($column in $tableInfo.otherColumn)
            $!column.obj.name,    
    #end
        </trim>
            VALUES
            <foreach collection ="list" item="item" index= "index" separator =",">
                <trim prefix="(" suffix=")" suffixOverrides=",">
        #foreach($column in $tableInfo.otherColumn)
            #{item.$!column.name, jdbcType=$!column.ext.jdbcType},
        #end
        </trim>
            </foreach>
    </insert>
    
    <update id = "update">
        UPDATE $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}
        <set>
#foreach($column in $tableInfo.otherColumn)
            <if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">
                $!column.obj.name = #{$!column.name, jdbcType=$!column.ext.jdbcType},
            </if>
#end
        </set>
       <where>
            $pk.obj.name = #{$!pk.name, jdbcType=$!pk.ext.jdbcType}
       </where>
    </update>
    
    <delete id="delete">
        DELETE 
        FROM 
            $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name} 
        WHERE
            $pk.obj.name = #{$!pk.name, jdbcType=$!pk.ext.jdbcType}
    </delete>
    
    <delete id="batchDelete">
        DELETE
        FROM
            $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name} 
        WHERE
            $pk.obj.name IN 
            <foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
                #{item.$!pk.name, jdbcType=$!pk.ext.jdbcType}    
            </foreach>
    </delete>
    
</mapper>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDEA Easy Code使用记录 的相关文章

  • JAVA之旅的第一步(安装JDK与JRE以及环境变量和IDEA)

    作为一名想要成为程序员的小白 我们开始肯定要学会一门语言 JAVA作为目前最为主流的编程语言 肯定是大家都要去学习的 那么如何开始我们的第一步呢 一 JDK与JRE的安装 首先我们要先安装JAVA 打开下面这个网址 注册你的Oracle账号
  • DataGrip 2022.2.2 Unknown column ‘generation_expression‘ in ‘field list‘

    安装DataGrip 2022 2 2 连接本地数据库 编写脚本时发现无法自动提示数据库表字段 搜索结果 都是在连接属性 Options Introspection using JDBC metadata 在此版本没有发现此选项 查找发现在
  • IDEA中Translation插件无法使用怎么办?

    昨天一个小偷 来我家偷钱 我们一起找了一晚上 问题 谷歌翻译退出中国了 导致我的 IDEA 翻译插件 Translation 也不能用了 会出现这样的错误 更新 TKK 失败 请检查网络连接 解决办法 使用百度翻译 很多翻译都收费 百度翻译
  • golang 解决模块化下载慢、下载失败timeout

    1 在idea编辑器中配置go语言模块化代理 2 配置环境变量 export GOPROXY https goproxy io 然后再执行go get或者直接运行
  • Idea如何导入一个SpringBoot项目

    最近公司要求开发工具要用Idea 作为一个eclipse的老员工 记录一下Idea中遇到的坑 刚开始用Idea从Git上导入一个项目时 遇到了很多坑 网上有很多方法 我不多做介绍 只说明一下我使用的方法 1 本地新建一个文件夹 从git上导
  • 命令行传参

    命令行传参 运行一个程序时传递给它消息 依靠命令行参数给main 函数实现 public class mainTest public static void main String args for int i 0 i lt args le
  • Intellij IDEA svn的使用记录

    这里的忽略一直灰色的 可以进入 这里的版本控制里进行忽略选择 或者 这里进行添加 这里有三个选择 按照顺序 1 忽略指定的文件 2 忽略文件夹下所有文件 3 忽略符合匹配规则的文件 到Commit Changes 这里有几个选项需要了解的
  • 【MedusaSTears】IntelliJ IDEA 自动生成方法注释模板设置(入参每行1个如图)

    快捷键 按键 按键 按键tab 效果图 设置方式 参考资料 https blog csdn net yuruixin china article details 80933835 我也是参考这个文章设置的 只不过我改了一些其它的内容 修改如
  • applicationcontext in module file is included in 5 contexts的解决方式

    有时候IDEA会出现这样的情况 明明敲得挺好的代码却莫名其妙的出现这个错误 然后自己这个错误出现几次了 所以我要把它记录下来 让我们把他解决吧 1 file project Structure 2 Modules Spring 先把所有的
  • idea导入项目,Lombok插件安装了,且配置文件中配置了,还是不能正常启动,表示找不到get、set方法

    1 保证安装了Lombok插件 2 保证maven或者gradle中添加了依赖 3 如下配置
  • 日常生活中常用的五星级句子

    1 After you 你先请 这是一句很常用的客套话 在进 出门 上车得场合你都可以表现一下 好象现在女士不愿意你这么做 特别是那些女权主义者 我还记得这么一段话 一个女士对一个让她先行的男士说 you do this because i
  • Idea 修改默认的Maven配置及修改为阿里源

    每次使用Idea创建或者导入Maven项目的时候 Idea都会使用系统默认的Maven 此时 如果我们想使用自定义安装的Maven 需要在File gt other settings gt Settings for New Projects
  • RPC failed; OpenSSL SSL_read: Connection was aborted, errno 10053 unable to access ‘https://github.c

    IDEA Push推送到GitHub失败 RPC failed OpenSSL SSL read Connection was aborted errno 10053 unable to access https github com xx
  • 使用 cloc 统计你的代码量

    转自 使用 cloc 统计你的代码量 今天发现一个特别好用的工具 cloc 可以用它统计代码的行数 它可以识别多种开发语言 并在计算的时候忽略掉注释和空行 我记得我上次申请软件著作权的时候 申请表格中要求提交代码量 当时为了计算行数 我写了
  • Java学习前言—JDK、JRE、IntelliJ IDEA

    一 jdk java developer kit 与 jre java runtime environment 1 jdk是Java开发工具包 安装后可以编写Java程序 2 jre是Java运行环境 安装后可以运行Java程序 二 Ubu
  • 如何在IDEA中使用JDBC

    如何在IDEA中使用JDBC 摘要 安装JDK及IDEA mysql下载安装及预处理 JDBC驱动下载 新建IDEA项目 添加JDBC驱动文件至项目 编写java测试语句 摘要 本文主要介绍了如何用IDEA新建一个java项目 并用JDBC
  • idea connect timed out 解决方法

    使用IntelliJ IDEA 创建Spring Boot项目时 显示 connect timed out 解决方法 1 很多博客说将 https start spring io 改为 http start spring io 但是我这里不
  • IntelliJ IDEA出现红色字体解决办法

    如图所示 问题 ApiModel显示红色 点击alt enter提示需要添加io swagger包到classpath中 因为在pom xml中没有把此包引入 如图 解决方案 在pom xml中添加io swagger包 经历1 当我根据I
  • 蓝桥杯-快乐数-力扣

    202 快乐数 编写一个算法来判断一个数 n 是不是快乐数 快乐数 定义为 对于一个正整数 每一次将该数替换为它每个位置上的数字的平方和 然后重复这个过程直到这个数变为 1 也可能是 无限循环 但始终变不到 1 如果这个过程 结果为 1 那
  • idea 启动时怎么选择工作空间

    idea 启动时怎么选择工作空间 按快捷键 ctrl alt s打开设置 点击System Settings选项后 把右边版面中Reopen last projecton startup前面的勾去掉 保存 下次再打开的时候就可以选择你要的空

随机推荐

  • B站评论爬虫--爬取游戏主页评论

    由于公司需要监控到不同时间段用户观点的变化 xff0c 需要爬取各个平台下我们用户的评论 xff0c 因此 xff0c B站评论爬取的需求诞生啦 xff01 xff01 看了网上的其他教程 xff0c 都没有我这个类型的 xff08 大多数
  • 内网搭建 Pip 源方案之 Pypiserver

    前言 遇到开发环境是内网 xff0c 项目第一次搭建的时候 需要安装许多的python三方模块 除了手动一个个安装 xff0c 有时候还要处理相互依赖的模块 xff0c 费时费力 能不能像在 外网 环境一样 xff0c 在 内网 使用 pi
  • java中的字符串排序

    要求 xff1a 对 34 abc 34 34 fcc 34 34 egfd 34 34 asd 34 34 rtgh 34 34 deghk 34 34 fcc 34 字段进行排序 xff0c 要求满足其为升序排列同时每个字符串里也是升序
  • 基于PySide6的MySql数据库快照备份与恢复软件

    db camera 软件介绍 db camera是一款MySql数据库备份 xff08 快照保存 xff09 与恢复软件 功能上与dump类似 xff0c 但是提供了相对有好的交互界面 xff0c 能够有效地管理导出的sql文件 使用场景
  • 2023-04-14 Linux连接WiFi常用命令,用命令打开、搜索、连接wifi,在buildroot 嵌入式系统上测试,用 wifi_start.sh WIFI名称 WIFI密码 命令格式连接

    一 ifconfig 命令查看打开的网卡 二 ifconfig a 命令查看所有的网卡 xff0c 包括关闭的 三 打开WIFI命令 xff1a ifconfig wlan0 up xff1b 关闭WIFI命令 xff1a ifconfig
  • 基于ubuntu20.04的anaconda和cuda安装

    文章目录 使用服务器训练深度学习模型环境安装 ubuntu20 04 ubuntu 20 04安装anaconda安装显卡驱动安装cuda安装 xff08 cuda 11 0 cudnn安装 cudnn 11 0 使用服务器训练深度学习模型
  • 创建Web天气插件之vue3.0(包含2.x)

    1 首先选择一个天气插件 xff0c 这里小编使用和风天气插件 xff0c 见和风天气插件 和风天气插件产品 xff0c 免费 跨终端 适配你的网站 APP 公众号 2 小编这里写的是vue3 0的移动端项目 xff0c 所以使用的是天气简
  • MySQL占用CPU过高,排查原因及解决的多种方式法

    一 mysql中的wait timeout坑 mysql gt show variables like 39 timeout 39 首先你要明白 wait timeout 指的是mysql在关闭一个非交互的连接之前所要等待的秒数 xff0c
  • Linux系统Debian安装

    虚拟机VMware安装Debian 小白教程 最近学习中顺便做了个文档 xff0c 下载 一 下载Debian 网址 xff1a https www debian org distrib 二 安装Debian8 1 选择稍后安装操作系统 2
  • sqlite3

    一 版本 从 www sqlite org 网站可下载到最新的 sqlite 代码和编译版本 写此文章时 xff0c 最新代码是 3 3 17 版本 二 基本编译 把 sqlite3 c 和 sqlite3 h 添加到工程 xff0c 再新
  • arduino esp8266开发板下载出错解决方法

    常规 arduino esp8266开发板下载安装流程 xff1a 第一步 xff0c 在arduino界面 xff0c 选择 文件 首选项 xff1a 找到附加开发板管理器网址 xff0c 将下面网址复制进去 xff1a http ard
  • linux C编程4-系统信息/时间/内存分配/随机数/定时器

    目录 1 获取系统信息 1 1 uname 函数 1 2 sysinfo 函数 1 3 gethostname 函数 1 4 sysconf 函数 1 5 getpagesize 函数 2 时间 日期 2 1 查看utc时间 2 2 查看系
  • IntelliJ IDEA插件之下载和安装方式

    IntelliJ IDEA插件下载与安装 下载方式官网下载如下图 IDEA内下载如下图 安装方式直接安装如下图 下载插件到本地安装如下图 下载方式 官网下载 如下图 IDEA内下载 如下图 进入Settings页面 xff08 File g
  • IntelliJ IDEA插件之TranslationPlugin

    IntelliJ IDEA插件之TranslationPlugin 下载地址安装插件概述使用如下图 下载地址 下载地址 安装插件 安装方式 概述 翻译他人代码或者源码中的英文 使用如下图
  • IntelliJ IDEA插件之Power Mode II

    IntelliJ IDEA插件之Power Mode II 下载地址安装插件概述使用如下图 下载地址 下载地址 安装插件 安装方式 概述 Power Mode II是写代码的时候体验狂拽酷炫的效果 使用如下图
  • IntelliJ IDEA插件之Background Image Plus +

    IntelliJ IDEA插件之Background Image Plus 43 下载地址安装插件概述 下载地址 下载地址 安装插件 安装方式 概述 IDEA 背景修改插件
  • IntelliJ IDEA插件之Free MyBatis plugin

    IntelliJ IDEA插件之Free MyBatis plugin 下载地址安装插件概述 下载地址 下载地址 安装插件 安装方式 概述 mapper接口与对应xml文件对应
  • MySQL Workbench 8.0 CE 汉化包下载

    MySQL Workbench 8 0 CE 汉化包下载 下载地址 xff1a 汉化文件下载 下载提示 xff1a 下载过程进度文件页面右键另存为即可保存文件到本地 1 把下载好的文件后放到此目录下替换此文件 C Program Files
  • IntelliJ IDEA插件之CodeGlance

    IntelliJ IDEA插件之CodeGlance 下载插件安装插件概述 下载插件 下载地址 安装插件 安装方式 概述 将类似于Sublime中的代码的微型地图嵌入到编辑器窗格中 使用您自定义的颜色对亮色和深色主题进行语法突出显示
  • IDEA Easy Code使用记录

    下载安装 xff08 忽略 xff09 设置 设置在idea的 Other Settings里面 分4个选项 Type Mapper 类型映射 xff08 数据字段和java包装器映射 xff09 Template Setting 模板设置