<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      代碼生成器(自用)

      代碼生成器

      import com.baomidou.mybatisplus.generator.FastAutoGenerator;
      import com.baomidou.mybatisplus.generator.config.OutputFile;
      import com.baomidou.mybatisplus.generator.config.TemplateConfig;
      import com.baomidou.mybatisplus.generator.config.TemplateType;
      import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
      import org.junit.jupiter.api.Test;
      
      import java.util.Collections;
      
      public class CodeGenerator {
          @Test
          public static void main(String[] args) {
              generate();
          }
          private static void generate() {
              FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/xsglxt_db?characterEncoding=UTF-8&serverTimezone=UTC", "root", "123456")
                      .globalConfig(builder -> {
                          builder.author("ma") // 設置作者
      //                            .enableSwagger() // 開啟 swagger 模式
                                  .fileOverride() // 覆蓋已生成文件
                                  .outputDir("D:/SpringBoot_Vue_xsglxt/xsglxt_SpringBoot/src/main/java/"); // 指定輸出目錄
                      })
                      .packageConfig(builder -> {
                          builder.parent("com.ma") // 設置父包名
                                  .moduleName(null) // 設置父包模塊名
                                  .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D:/SpringBoot_Vue_xsglxt/xsglxt_SpringBoot/src/main/resources/mapper")); // 設置mapperXml生成路徑
                      })
                      .strategyConfig(builder -> {
                          builder.entityBuilder().enableLombok();
                          builder.mapperBuilder().enableMapperAnnotation().build();
                          builder.controllerBuilder().enableHyphenStyle()  // 開啟駝峰轉連字符
                                  .enableRestStyle();  // 開啟生成@RestController 控制器
                          builder.addInclude("sys_role_menu") // 設置需要生成的表名
                                  .addTablePrefix("t_","sys_"); // 設置過濾表前綴
                      })
      
                      //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默認的是Velocity引擎模板
      /*
                      .templateEngine(builder ->{
      
                      })*/
                      .execute();
              new TemplateConfig.Builder()
                      .disable(TemplateType.ENTITY)
                      .entity("/templates/entity.java")
                      .service("/templates/service.java")
                      .serviceImpl("/templates/serviceImpl.java")
                      .mapper("/templates/mapper.java")
                      .mapperXml("/templates/mapper.xml")
                      .controller("/templates/controller.java")
                      .build();
          }
      
      }

      模板

       

      Controller層
      package ${package.Controller};
      
      
      import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
      import org.springframework.web.bind.annotation.*;
      import javax.annotation.Resource;
      import java.util.List;
      import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
      import com.ma.common.Result;
      
      import ${package.Service}.${table.serviceName};
      import ${package.Entity}.${entity};
      
      #if(${restControllerStyle})
      import org.springframework.web.bind.annotation.RestController;
      #else
      import org.springframework.stereotype.Controller;
      #end
      #if(${superControllerClassPackage})
      import ${superControllerClassPackage};
      #end
      
      /**
       * <p>
       * $!{table.comment} 前端控制器
       * </p>
       *
       * @author ${author}
       * @since ${date}
       */
      #if(${restControllerStyle})
      @RestController
      #else
      @Controller
      #end
      @RequestMapping("#if(${package.ModuleName})/${package.ModuleName}#end/#if(${controllerMappingHyphenStyle})${controllerMappingHyphen}#else${table.entityPath}#end")
      #if(${kotlin})
      class ${table.controllerName}#if(${superControllerClass}) : ${superControllerClass}()#end
      
      #else
      #if(${superControllerClass})
      public class ${table.controllerName} extends ${superControllerClass} {
      #else
      public class ${table.controllerName} {
      #end
      
          @Resource
          private ${table.serviceName} ${table.entityPath}Service;
      
          // 新增或者更新
          @PostMapping
          public Result save(@RequestBody ${entity} ${table.entityPath}) {
              ${table.entityPath}Service.saveOrUpdate(${table.entityPath});
              return Result.success();
          }
      
          @DeleteMapping("/{id}")
          public Result delete(@PathVariable Integer id) {
              ${table.entityPath}Service.removeById(id);
              return Result.success();
          }
      
          @PostMapping("/del/batch")
          public Result deleteBatch(@RequestBody List<Integer> ids) {
              ${table.entityPath}Service.removeByIds(ids);
              return Result.success();
          }
      
          @GetMapping
          public Result findAll() {
              return Result.success(${table.entityPath}Service.list());
          }
      
          @GetMapping("/{id}")
          public Result findOne(@PathVariable Integer id) {
              return Result.success(${table.entityPath}Service.getById(id));
          }
      
          @GetMapping("/page")
          public Result findPage(@RequestParam Integer pageNum,
                                      @RequestParam Integer pageSize) {
              QueryWrapper<${entity}> queryWrapper = new QueryWrapper<>();
              queryWrapper.orderByDesc("id");
              return Result.success(${table.entityPath}Service.page(new Page<>(pageNum, pageSize), queryWrapper));
          }
      
      }
      
      #end
      serviceImpl層
      package ${package.ServiceImpl};
      
      import ${package.Entity}.${entity};
      import ${package.Mapper}.${table.mapperName};
      import ${package.Service}.${table.serviceName};
      import ${superServiceImplClassPackage};
      import org.springframework.stereotype.Service;
      
      /**
       * <p>
       * $!{table.comment} 服務實現類
       * </p>
       *
       * @author ${author}
       * @since ${date}
       */
      @Service
      #if(${kotlin})
      open class ${table.serviceImplName} : ${superServiceImplClass}<${table.mapperName}, ${entity}>(), ${table.serviceName} {
      
      }
      #else
      public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}> implements ${table.serviceName} {
      
      }
      #end
      service層
      package ${package.Service};
      
      import ${package.Entity}.${entity};
      import ${superServiceClassPackage};
      
      /**
       * <p>
       * $!{table.comment} 服務類
       * </p>
       *
       * @author ${author}
       * @since ${date}
       */
      #if(${kotlin})
      interface ${table.serviceName} : ${superServiceClass}<${entity}>
      #else
      public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {
      
      }
      #end
      mapper.xml
      <?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="${package.Mapper}.${table.mapperName}">
      
      #if(${enableCache})
          <!-- 開啟二級緩存 -->
          <cache type="${cacheClassName}"/>
      
      #end
      #if(${baseResultMap})
          <!-- 通用查詢映射結果 -->
          <resultMap id="BaseResultMap" type="${package.Entity}.${entity}">
      #foreach($field in ${table.fields})
      #if(${field.keyFlag})##生成主鍵排在第一位
              <id column="${field.name}" property="${field.propertyName}" />
      #end
      #end
      #foreach($field in ${table.commonFields})##生成公共字段
              <result column="${field.name}" property="${field.propertyName}" />
      #end
      #foreach($field in ${table.fields})
      #if(!${field.keyFlag})##生成普通字段
              <result column="${field.name}" property="${field.propertyName}" />
      #end
      #end
          </resultMap>
      
      #end
      #if(${baseColumnList})
          <!-- 通用查詢結果列 -->
          <sql id="Base_Column_List">
      #foreach($field in ${table.commonFields})
              ${field.columnName},
      #end
              ${table.fieldNames}
          </sql>
      
      #end
      </mapper>
      mapper層
      package ${package.Mapper};
      
      import ${package.Entity}.${entity};
      import ${superMapperClassPackage};
      #if(${mapperAnnotation})
      import org.apache.ibatis.annotations.Mapper;
      #end
      
      /**
       * <p>
       * $!{table.comment} Mapper 接口
       * </p>
       *
       * @author ${author}
       * @since ${date}
       */
      #if(${mapperAnnotation})
      @Mapper
      #end
      #if(${kotlin})
      interface ${table.mapperName} : ${superMapperClass}<${entity}>
      #else
      public interface ${table.mapperName} extends ${superMapperClass}<${entity}> {
      
      }
      #end

      entity層

      package ${package.Entity};
      
      #foreach($pkg in ${table.importPackages})
      import ${pkg};
      #end
      #if(${swagger})
      import io.swagger.annotations.ApiModel;
      import io.swagger.annotations.ApiModelProperty;
      #end
      #if(${entityLombokModel})
      import lombok.Data;
      import lombok.AllArgsConstructor;
      import lombok.NoArgsConstructor;
      #if(${chainModel})
      import lombok.experimental.Accessors;
      #end
      #end
      
      /**
       * <p>
       * $!{table.comment}
       * </p>
       *
       * @author ${author}
       * @since ${date}
       */
      #if(${entityLombokModel})
      @Data
      @AllArgsConstructor
      @NoArgsConstructor
        #if(${chainModel})
      @Accessors(chain = true)
        #end
      #end
      #if(${table.convert})
      @TableName("${schemaName}${table.name}")
      #end
      #if(${swagger})
      @ApiModel(value = "${entity}對象", description = "$!{table.comment}")
      #end
      #if(${superEntityClass})
      public class ${entity} extends ${superEntityClass}#if(${activeRecord})<${entity}>#end {
      #elseif(${activeRecord})
      public class ${entity} extends Model<${entity}> {
      #elseif(${entitySerialVersionUID})
      public class ${entity} implements Serializable {
      #else
      public class ${entity} {
      #end
      #if(${entitySerialVersionUID})
      
          private static final long serialVersionUID = 1L;
      #end
      ## ----------  BEGIN 字段循環遍歷  ----------
      #foreach($field in ${table.fields})
      
      #if(${field.keyFlag})
      #set($keyPropertyName=${field.propertyName})
      #end
      #if("$!field.comment" != "")
        #if(${swagger})
          @ApiModelProperty("${field.comment}")
        #else
          /**
           * ${field.comment}
           */
        #end
      #end
      #if(${field.keyFlag})
      ## 主鍵
        #if(${field.keyIdentityFlag})
          @TableId(value = "${field.annotationColumnName}", type = IdType.AUTO)
        #elseif(!$null.isNull(${idType}) && "$!idType" != "")
          @TableId(value = "${field.annotationColumnName}", type = IdType.${idType})
        #elseif(${field.convert})
          @TableId("${field.annotationColumnName}")
        #end
      ## 普通字段
      #elseif(${field.fill})
      ## -----   存在字段填充設置   -----
        #if(${field.convert})
          @TableField(value = "${field.annotationColumnName}", fill = FieldFill.${field.fill})
        #else
          @TableField(fill = FieldFill.${field.fill})
        #end
      #elseif(${field.convert})
          @TableField("${field.annotationColumnName}")
      #end
      ## 樂觀鎖注解
      #if(${field.versionField})
          @Version
      #end
      ## 邏輯刪除注解
      #if(${field.logicDeleteField})
          @TableLogic
      #end
          private ${field.propertyType} ${field.propertyName};
      #end
      ## ----------  END 字段循環遍歷  ----------
      
      #if(!${entityLombokModel})
      #foreach($field in ${table.fields})
        #if(${field.propertyType.equals("boolean")})
          #set($getprefix="is")
        #else
          #set($getprefix="get")
        #end
      
          public ${field.propertyType} ${getprefix}${field.capitalName}() {
              return ${field.propertyName};
          }
      
        #if(${chainModel})
          public ${entity} set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
        #else
          public void set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
        #end
              this.${field.propertyName} = ${field.propertyName};
        #if(${chainModel})
              return this;
        #end
          }
      #end
      ## --foreach end---
      #end
      ## --end of #if(!${entityLombokModel})--
      
      #if(${entityColumnConstant})
        #foreach($field in ${table.fields})
          public static final String ${field.name.toUpperCase()} = "${field.name}";
      
        #end
      #end
      #if(${activeRecord})
          @Override
          public Serializable pkVal() {
        #if(${keyPropertyName})
              return this.${keyPropertyName};
        #else
              return null;
        #end
          }
      
      #end
      #if(!${entityLombokModel})
          @Override
          public String toString() {
              return "${entity}{" +
        #foreach($field in ${table.fields})
          #if($!{foreach.index}==0)
              "${field.propertyName}=" + ${field.propertyName} +
          #else
              ", ${field.propertyName}=" + ${field.propertyName} +
          #end
        #end
              "}";
          }
      #end
      }

       

      posted @ 2022-12-11 18:19  godmodel  閱讀(221)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产内射性高湖| 大宁县| 国产精品久久久久久影视| 国产不卡在线一区二区| 在线视频一区二区三区色| 色噜噜亚洲男人的天堂| 无码专区视频精品老司机 | 国产精品老熟女露脸视频| 麻豆国产va免费精品高清在线| 九九热在线免费视频观看| 青青国产揄拍视频| 中文字幕日韩国产精品| 亚洲人妻系列中文字幕| 久久精品波多野结衣| 人妻中出无码中字在线| 九九在线精品国产| 蜜桃无码一区二区三区| 色丁香一区二区黑人巨大| 起碰免费公开97在线视频| 久久夜色撩人精品国产av| 丰满少妇被猛烈进出69影院| 亚洲中文一区二区av| 高清无码18| 国产99re热这里只有精品| 少妇人妻偷人免费观看| 久久国产自偷自偷免费一区| 精品亚洲AⅤ无码午夜在线| 蜜臀av午夜精品福利| 内射中出无码护士在线| 亚洲日韩AV秘 无码一区二区| 亚洲人成电影在线天堂色| 亚洲欧美国产精品专区久久| 小嫩模无套内谢第一次| 亚洲欧洲日产国产 最新| 美女黄网站人色视频免费国产| 高清免费毛片| 中文字幕亚洲无线码一区女同| 成av人电影在线观看| 亚洲国产精品一区二区第一页| 亚洲色婷婷久久精品av蜜桃久久 | 99热精品毛片全部国产无缓冲|