欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

idea 使用 easyCode 模板 解放程序员的双手

程序员文章站 2022-06-17 17:14:14
...

进入File——settings:安装插件
idea 使用 easyCode 模板 解放程序员的双手

关联数据库
idea 使用 easyCode 模板 解放程序员的双手
idea 使用 easyCode 模板 解放程序员的双手

idea 使用 easyCode 模板 解放程序员的双手
测试链接ok
你的库就进来了
idea 使用 easyCode 模板 解放程序员的双手

添加一个类型 右边的加号添加
idea 使用 easyCode 模板 解放程序员的双手

这个是个人使用的代码模板

pojo 记得已经添加了Lombok

##引入宏定义
$!define

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

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

##使用全局变量实现默认包导入
$!autoImport
import java.io.Serializable;
import lombok.Data;
##使用宏定义实现类注释信息
#tableComment("实体类")
@Data
public class $!{tableInfo.name} implements Serializable {
    private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
    #if(${column.comment})/**
    * ${column.comment}
    */#end

    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end


}

mapper接口

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Mapper"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/mapper"))

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

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}mapper;

import $!{tableInfo.savePackageName}.pojo.$!{tableInfo.name};
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层
 *
 * @author $!author
 * @since $!time.currTime()
 */
public interface $!{tableName} {

     /**
     * 查询全部
     */
    public List<$!{tableInfo.name}> queryAll($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));

    /**
     * 查总数
     */
    public Integer getCount();


    /**
     * 通过ID查询单条数据
     *
     * @param $!pk.name 主键
     * @return 实例对象
     */
    $!{tableInfo.name} queryById(Integer id);

    /**
     * 新增数据
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象
     * @return 影响行数
     */
    int insert($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));

    /**
     * 修改数据
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象
     * @return 影响行数
     */
    int update($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));

    /**
     * 通过主键删除数据
     *
     * @param $!pk.name 主键
     * @return 影响行数
     */
    int deleteById(Integer id);

}

mapper.XML

##引入mybatis支持
$!mybatisSupport

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

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="$!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper">

    <resultMap type="$!{tableInfo.savePackageName}.pojo.$!{tableInfo.name}" id="$!{tableInfo.name}Map">
#foreach($column in $tableInfo.fullColumn)
        <result property="$!column.name" column="$!column.obj.name" jdbcType="$!column.ext.jdbcType"/>
#end
    </resultMap>

    <sql id="select$!{tableInfo.name}Vo">
        select #allSqlColumn() from $!{tableInfo.obj.name}
    </sql>
    
    <!--查总数 -->
    <select id="getCount" resultType="Integer">
        select count(0) from $!{tableInfo.obj.name}
    </select>

    <!--查询单个-->
    <select id="queryById"    resultMap="$!{tableInfo.name}Map">
        <include refid="select$!{tableInfo.name}Vo"/>
        where $!pk.obj.name = #{$!pk.name}
    </select>

    <!--通过实体作为筛选条件查询-->
    <select id="queryAll"    parameterType="$!{tableInfo.savePackageName}.pojo.$!{tableInfo.name}"   resultMap="$!{tableInfo.name}Map">
        <include refid="select$!{tableInfo.name}Vo"/>
        <where>
#foreach($column in $tableInfo.fullColumn)
            <if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">
                and $!column.obj.name = #{$!column.name}
            </if>
#end
        </where>
    </select>

    <!--新增所有列-->
    <insert id="insert"  parameterType="$!{tableInfo.savePackageName}.pojo.$!{tableInfo.name}"    keyProperty="$!pk.name" useGeneratedKeys="true">
        insert into $!{tableInfo.obj.name}(#foreach($column in $tableInfo.otherColumn)$!column.obj.name#if($velocityHasNext), #end#end)
        values (#foreach($column in $tableInfo.otherColumn)#{$!{column.name}}#if($velocityHasNext), #end#end)
    </insert>

    <!--通过主键修改数据-->
    <update id="update"  parameterType="$!{tableInfo.savePackageName}.pojo.$!{tableInfo.name}" >
        update $!{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},
            </if>
#end
        </set>
        where $!pk.obj.name = #{$!pk.name}
    </update>

    <!--通过主键删除-->
    <delete id="deleteById">
        delete from $!{tableInfo.obj.name} where $!pk.obj.name = #{$!pk.name}
    </delete>

</mapper>

service接口

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Service"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service"))

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

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}service;

import $!{tableInfo.savePackageName}.pojo.$!{tableInfo.name};
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服务接口
 *
 * @author $!author
 * @since $!time.currTime()
 */
public interface $!{tableName} {

     /**
     * 查询全部
     */
    public List<$!{tableInfo.name}> queryAll($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));

    /**
     * 查总数
     */
    public Integer getCount();

    /**
     * 通过ID查询单条数据
     *
     * @param $!pk.name 主键
     * @return 实例对象
     */
    $!{tableInfo.name} queryById(Integer id);


    /**
     * 新增数据
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象
     * @return 实例对象
     */
    $!{tableInfo.name} insert($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));

    /**
     * 修改数据
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象
     * @return 实例对象
     */
    Integer update($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));

    /**
     * 通过主键删除数据
     *
     * @param $!pk.name 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);
     
     /**
     * 转换方法
     */
    public $!{tableInfo.name} changePojo($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
    
     /**
     * 列表转换
     */
    public List<$!{tableInfo.name}> changeModel(List<$!{tableInfo.name}> $!tool.firstLowerCase($!{tableInfo.name})); 

}

servicelmpl 实现

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "ServiceImpl"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service"))

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

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}service;

import $!{tableInfo.savePackageName}.pojo.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper;
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.ArrayList;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服务实现类
 *
 * @author $!author
 * @since $!time.currTime()
 */
@Service("$!tool.firstLowerCase($!{tableInfo.name})Service")
public class $!{tableName} implements $!{tableInfo.name}Service {
    @Resource
    private $!{tableInfo.name}Mapper $!tool.firstLowerCase($!{tableInfo.name})Mapper;

    /**
     * 通过ID查询单条数据
     */
    @Override
    public $!{tableInfo.name} queryById(Integer id) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.queryById($!pk.name);
    }
     /**
     * 查询全部
     */
    @Override
    public List<$!{tableInfo.name}> queryAll($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name})) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.queryAll($!tool.firstLowerCase($!{tableInfo.name}));
    }
    
    /**
     * 查总数
     */
    @Override
    public Integer getCount() {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.getCount();
    }
    

    /**
     * 新增数据
     */
    @Override
    public $!{tableInfo.name} insert($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name})) {
        this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.insert($!tool.firstLowerCase($!{tableInfo.name}));
        return $!tool.firstLowerCase($!{tableInfo.name});
    }

    /**
     * 修改数据
     */
    @Override
    public Integer update($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name})) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.update($!tool.firstLowerCase($!{tableInfo.name}));
    }

    /**
     * 通过主键删除数据
     */
    @Override
    public boolean deleteById(Integer id) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Mapper.deleteById($!pk.name) > 0;
    }
    
    
     /**
     * 转换方法
     */
    @Override
    public $!{tableInfo.name} changePojo($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name})) {
        //这里写转换逻辑
        return $!tool.firstLowerCase($!{tableInfo.name});
    }
    
     /**
     * 列表转换
     */
    @Override
    public List<$!{tableInfo.name}> changeModel(List<$!{tableInfo.name}> $!tool.firstLowerCase($!{tableInfo.name})) {
        List<$!{tableInfo.name}> result = new ArrayList<$!{tableInfo.name}>();
        if (null!=$!tool.firstLowerCase($!{tableInfo.name})) {
            for ($!{tableInfo.name} data:$!tool.firstLowerCase($!{tableInfo.name})){
                result.add(changePojo(data));
            }
        }
        return result;
    }
}

Controller 控制层

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Controller"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/controller"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}controller;

import $!{tableInfo.savePackageName}.pojo.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.web.bind.annotation.*;

import org.springframework.beans.factory.annotation.Autowired;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表控制层
 *
 * @author $!author
 * @since $!time.currTime()
 */
@RestController
@RequestMapping("$!tool.firstLowerCase($tableInfo.name)")
public class $!{tableName} {
    /**
     * 服务对象
     */
    @Autowired
    private $!{tableInfo.name}Service $!tool.firstLowerCase($tableInfo.name)Service;

    
    @RequestMapping("getList")
    public Object list($!{tableInfo.name} $!tool.firstLowerCase($tableInfo.name)) {
        return $tool.append( $!tool.firstLowerCase($tableInfo.name),"Service.changeModel(",$tool.firstLowerCase($!{tableInfo.name}),"Service.queryAll(",$tool.firstLowerCase($!{tableInfo.name}),"))");
    }


    /**
     * 查询id
     */
    @RequestMapping("/{id}")
    public Object detail(@PathVariable Integer id) {
        return  $tool.append($!tool.firstLowerCase($tableInfo.name),"Service.changePojo(",$!tool.firstLowerCase($tableInfo.name),"Service.queryById(id))");
    }
    
    /**
     * 新增
     */
    @RequestMapping("insert")
    public Object addSave($!{tableInfo.name} $!tool.firstLowerCase($tableInfo.name)) {
        return  $tool.append($!tool.firstLowerCase($tableInfo.name),"Service.insert(",$!tool.firstLowerCase($tableInfo.name),")");
    }


    /**
     * 修改
     */
    @RequestMapping("update")
    public Object update($!{tableInfo.name} $!tool.firstLowerCase($tableInfo.name)) {
        return  $tool.append($!tool.firstLowerCase($tableInfo.name),"Service.update(",$!tool.firstLowerCase($tableInfo.name),")");
    }

    /**
     * 删除
     */
    @RequestMapping("/{id}")
    public Object delete(@PathVariable Integer id) {
        return $tool.append($!tool.firstLowerCase($tableInfo.name),"Service.deleteById(id)");
    }
}

idea 使用 easyCode 模板 解放程序员的双手
idea 使用 easyCode 模板 解放程序员的双手

idea 使用 easyCode 模板 解放程序员的双手

idea 使用 easyCode 模板 解放程序员的双手

基本上可以做到直接可用~~~~~~~~~
或者自己再次添加必要的代码

相关标签: java