zoukankan      html  css  js  c++  java
  • Easy Code 自定义的模板

    Entity

    ##引入宏定义
    $!define

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

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

    ##使用全局变量实现默认包导入
    $!autoImport
    import java.io.Serializable;
    import io.swagger.annotations.*;
    import com.baomidou.mybatisplus.annotation.TableName;
    import com.baomidou.mybatisplus.annotation.TableId;
    import com.baomidou.mybatisplus.extension.activerecord.Model;
    import lombok.Data;

    ##使用宏定义实现类注释信息
    #tableComment("实体类")
    @Data
    @TableName("$tableInfo.obj.name")
    @ApiModel("$tableInfo.comment")
    public class $!{tableInfo.name} extends Model<$!{tableInfo.name}> implements Serializable {
    private static final long serialVersionUID = $!tool.serial();
    #foreach($column in $tableInfo.fullColumn)
    #if(${column.comment})/**
    * ${column.comment}
    */#end

    ##列名与主键名相等则增加Id标识主键
    #foreach($pkcolumn in $tableInfo.pkColumn)
    #if($!{column.name}==$!{pkcolumn.name})
    @TableId
    #end
    #end
    @ApiModelProperty("$column.comment")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};

    #end

    #foreach($column in $tableInfo.pkColumn)
    /**
    * 获取主键值
    *
    * @return 主键值
    */
    @Override
    protected Serializable pkVal() {
    return this.$!column.name;
    }
    #break
    #end

    }

    Service

    ##导入宏定义
    $!define
    
    ##设置表后缀(宏定义)
    #setTableSuffix("Service")
    
    ##保存文件(宏定义)
    #save("/service", "Service.java")
    
    ##包路径(宏定义)
    #setPackageSuffix("service")
    
    import com.baomidou.mybatisplus.extension.service.IService;
    import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
    
    ##表注释(宏定义)
    #tableComment("表服务接口")
    public interface $!{tableName} extends IService<$!tableInfo.name> {
    
    }

    ServiceImpl

    ##导入宏定义
    $!define
    
    ##设置表后缀(宏定义)
    #setTableSuffix("ServiceImpl")
    
    ##保存文件(宏定义)
    #save("/service/impl", "ServiceImpl.java")
    
    ##包路径(宏定义)
    #setPackageSuffix("service.impl")
    
    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
    import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper;
    import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
    import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
    import org.springframework.stereotype.Service;
    
    ##表注释(宏定义)
    #tableComment("表服务实现类")
    @Service("$!tool.firstLowerCase($tableInfo.name)Service")
    public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements $!{tableInfo.name}Service {
    
    }

    Controller

    ##导入宏定义
    $!define
    $!init
    
    ##设置表后缀(宏定义)
    #setTableSuffix("Controller")
    
    ##保存文件(宏定义)
    #save("/controller", "Controller.java")
    
    ##包路径(宏定义)
    #setPackageSuffix("controller")
    
    ##定义服务名
    #set($serviceName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Service"))
    
    ##定义实体对象名
    #set($entityName = $!tool.firstLowerCase($!tableInfo.name))
    
    import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
    import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
    import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
    import org.springframework.web.bind.annotation.*;
    import io.swagger.annotations.Api;
    import io.swagger.annotations.ApiOperation;
    import io.swagger.annotations.ApiParam;
    
    import java.io.Serializable;
    import java.util.List;
    
    ##表注释(宏定义)
    #tableComment("表控制层")
    @RestController
    @Api(value = "$!{tableInfo.name}", tags = "$!{tableInfo.comment}")
    @RequestMapping("$!tool.firstLowerCase($!tableInfo.name)")
    public class $!{tableName} {
       
    }

    Mapper

    ##导入宏定义
    $!define
    
    ##设置表后缀(宏定义)
    #setTableSuffix("Mapper")
    
    ##保存文件(宏定义)
    #save("/mapper", "Mapper.java")
    
    ##包路径(宏定义)
    #setPackageSuffix("mapper")
    
    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
    
    ##表注释(宏定义)
    #tableComment("表数据库访问层")
    public interface $!{tableName} extends BaseMapper<$!tableInfo.name> {
    
    }

    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}Dao">
    
        <resultMap type="$!{tableInfo.savePackageName}.entity.$!{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>
    
        <!--查询单个-->
        <select id="queryById" resultMap="$!{tableInfo.name}Map">
            select
              #allSqlColumn()
    
            from $!{tableInfo.obj.parent.name}.$!tableInfo.obj.name
            where $!pk.obj.name = #{$!pk.name}
        </select>
    
        <!--查询指定行数据-->
        <select id="queryAllByLimit" resultMap="$!{tableInfo.name}Map">
            select
              #allSqlColumn()
    
            from $!{tableInfo.obj.parent.name}.$!tableInfo.obj.name
            limit #{offset}, #{limit}
        </select>
    
        <!--通过实体作为筛选条件查询-->
        <select id="queryAll" resultMap="$!{tableInfo.name}Map">
            select
              #allSqlColumn()
    
            from $!{tableInfo.obj.parent.name}.$!tableInfo.obj.name
            <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" keyProperty="$!pk.name" useGeneratedKeys="true">
            insert into $!{tableInfo.obj.parent.name}.$!{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">
            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},
                </if>
    #end
            </set>
            where $!pk.obj.name = #{$!pk.name}
        </update>
    
        <!--通过主键删除-->
        <delete id="deleteById">
            delete from $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name} where $!pk.obj.name = #{$!pk.name}
        </delete>
    
    </mapper>
  • 相关阅读:
    python核心编程(多线程编程)
    Python核心编程(网络编程)
    将非drf接口配置到swagger
    jmeter设置全局变量--通过正则表达式进行提取
    jmeter实现用户登录高并发
    Django跨关联关系查询
    python树状结构取值和加值
    chrome浏览器代理插件SwitchyOmega使用
    burp suite历程-安装burp suite
    django中对模型字段名的限制
  • 原文地址:https://www.cnblogs.com/pigll/p/13539943.html
Copyright © 2011-2022 走看看