国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - springboot整合mybatis-plus代碼生成器的配置解析

springboot整合mybatis-plus代碼生成器的配置解析

2021-08-15 16:50heromps Java教程

這篇文章主要介紹了springboot整合mybatis-plus代碼生成器的配置解析,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

AutoGenerator 是 MyBatis-Plus 的代碼生成器,通過 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼,極大的提升了開發效率。
具體實實現以及配置解析如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package mybatis_plus;
 
 
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.apache.commons.lang3.StringUtils;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
 
public class CodeGenerator {
  public static String scanner(String tip) {
    Scanner scanner = new Scanner(System.in);
    StringBuilder help = new StringBuilder();
    help.append("請輸入" + tip + ":");
    System.out.println(help.toString());
    if (scanner.hasNext()) {
      String ipt = scanner.next();
      if (StringUtils.isNotBlank(ipt)) {
        return ipt;
      }
    }
    throw new MybatisPlusException("請輸入正確的" + tip + "!");
  }
  public static void main(String[] args) {
    // 構建代碼生成器
    AutoGenerator mpg = new AutoGenerator();
    //配置策略
 
    //1.全局配置
    GlobalConfig gc = new GlobalConfig();
    String projectPath = System.getProperty("user.dir");
    gc.setOutputDir(projectPath + "/src/main/java");
    gc.setAuthor("heroMps");
    gc.setOpen(false);
    gc.setFileOverride(false); //是否覆蓋
    gc.setServiceName("%sService");//去除Service前面的I
    gc.setIdType(IdType.ID_WORKER);
    gc.setDateType(DateType.ONLY_DATE);
//    gc.setSwagger2(true); //實體屬性 Swagger2 注解
    mpg.setGlobalConfig(gc);
    //2.設置數據源配置
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://127.0.0.1:3306/mybatis_plus?useUnicode=true&useSSL=false&characterEncoding=utf8");
    // dsc.setSchemaName("public");
    dsc.setDriverName("com.mysql.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("root");
    dsc.setDbType(DbType.MYSQL);
    mpg.setDataSource(dsc);
    //3.包配置
    PackageConfig pc = new PackageConfig();
//    pc.setModuleName("blog");
    pc.setParent("mybatis_plus");
    pc.setEntity("entity");
    pc.setMapper("mapper");
    pc.setService("service");
    pc.setController("controller");
    mpg.setPackageInfo(pc);
    // 自定義配置
    InjectionConfig cfg = new InjectionConfig() {
      @Override
      public void initMap() {
        // to do nothing
      }
    };
 
    // 如果模板引擎是 freemarker
//    String templatePath = "/templates/mapper.xml.ftl";
//     如果模板引擎是 velocity
     String templatePath = "/templates/mapper.xml.vm";
 
    // 自定義輸出配置
    List<FileOutConfig> focList = new ArrayList<>();
    // 自定義配置會被優先輸出
    focList.add(new FileOutConfig(templatePath) {
      @Override
      public String outputFile(TableInfo tableInfo) {
        // 自定義輸出文件名 , 如果你 Entity 設置了前后綴、此處注意 xml 的名稱會跟著發生變化??!
        return projectPath + "/src/main/resources/mapper/"
            + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
      }
    });
    /*
    cfg.setFileCreate(new IFileCreate() {
      @Override
      public boolean isCreate(ConfigBuilder configBuilder, FileType fileType, String filePath) {
        // 判斷自定義文件夾是否需要創建
        checkDir("調用默認方法創建的目錄,自定義目錄用");
        if (fileType == FileType.MAPPER) {
          // 已經生成 mapper 文件判斷存在,不想重新生成返回 false
          return !new File(filePath).exists();
        }
        // 允許生成模板文件
        return true;
      }
    });
    */
    cfg.setFileOutConfigList(focList);
    mpg.setCfg(cfg);
 
    // 配置模板
    TemplateConfig templateConfig = new TemplateConfig();
 
    // 配置自定義輸出模板
    //指定自定義模板路徑,注意不要帶上.ftl/.vm, 會根據使用的模板引擎自動識別
    // templateConfig.setEntity("templates/entity2.java");
    // templateConfig.setService();
    // templateConfig.setController();
 
    templateConfig.setXml(null);
    mpg.setTemplate(templateConfig);
    //4.策略配置
    StrategyConfig strategy = new StrategyConfig();
    strategy.setInclude(scanner("表名,多個英文逗號分割").split(","));
    strategy.setNaming(NamingStrategy.underline_to_camel);
    strategy.setColumnNaming(NamingStrategy.underline_to_camel);
    strategy.setEntityLombokModel(true);
    strategy.setLogicDeleteFieldName("deleted");
    //自動填充設置
    TableFill create_time = new TableFill("create_time", FieldFill.INSERT);
    TableFill update_time = new TableFill("update_time", FieldFill.INSERT_UPDATE);
    ArrayList<TableFill> list = new ArrayList<>();
    list.add(create_time);
    list.add(update_time);
    strategy.setTableFillList(list);
    //5.樂觀鎖配置
    strategy.setVersionFieldName("version");
    strategy.setRestControllerStyle(true);
    strategy.setControllerMappingHyphenStyle(true);
    mpg.setStrategy(strategy);
 
    mpg.execute();
  }
}

生成目錄如下:

springboot整合mybatis-plus代碼生成器的配置解析

測試查詢

springboot整合mybatis-plus代碼生成器的配置解析

到此這篇關于springboot整合mybatis-plus代碼生成器的文章就介紹到這了,更多相關springboot整合mybatis-plus內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/heromps/article/details/114002390

延伸 · 閱讀

精彩推薦
  • Java教程Java枚舉_動力節點Java學院整理

    Java枚舉_動力節點Java學院整理

    enum 的全稱為 enumeration, 是 JDK 5 中引入的新特性,存放在 java.lang 包中。這篇文章給大家介紹Java枚舉相關知識,需要的的朋友參考下...

    動力節點5382020-09-14
  • Java教程spring boot集成pagehelper(兩種方式)

    spring boot集成pagehelper(兩種方式)

    這篇文章主要介紹了spring boot集成pagehelper(兩種方式),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    bweird8572021-03-15
  • Java教程Java實現abc字符串排列組合

    Java實現abc字符串排列組合

    這篇文章主要為大家詳細介紹了JAVA實現abc字符串的排列組合,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    zhenxianyimeng11642021-03-31
  • Java教程Java基于swing實現的彈球游戲代碼

    Java基于swing實現的彈球游戲代碼

    這篇文章主要介紹了Java基于swing實現的彈球游戲代碼,包含了窗體界面設計與游戲的邏輯功能處理,具有不錯的參考借鑒價值,需要的朋友可以參考下 ...

    shichen20144252019-12-04
  • Java教程Java 時間日期詳細介紹及實例

    Java 時間日期詳細介紹及實例

    這篇文章主要介紹了Java 時間日期詳細介紹及實例的相關資料,需要的朋友可以參考下...

    java教程網4562020-07-26
  • Java教程Maven安裝過程圖文詳解

    Maven安裝過程圖文詳解

    這篇文章主要介紹了Maven安裝過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧...

    小冤家一號1732020-07-22
  • Java教程用Java編寫經典小程序

    用Java編寫經典小程序

    非常實用的12種基礎算法的經典案例,對于初學者來說有很大的幫助,數量有限需要的朋友可以參考下...

    Wendy-lxq10642021-04-23
  • Java教程Java中args參數數組的用法說明

    Java中args參數數組的用法說明

    這篇文章主要介紹了Java中args參數數組的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    予擁共暖7982021-08-11
主站蜘蛛池模板: 亚洲日日摸夜夜夜夜夜爽小说 | 6080夜射猫 | 久草成人网 | 亚洲国产精品福利 | 最新国产视频 | 久久亚洲一区二区三区四区 | 中文字幕高清一区 | 国产精品无码久久久久 | 在线观看免费视频国产 | 亚洲精品视频免费在线观看 | 九九热这里都是精品 | 国产成人片 | 精品在线一区 | 蜜桃视频一区二区 | 婷婷精品久久久久久久久久不卡 | 91av亚洲| 欧洲一级毛片 | 午夜精品在线 | 日韩精品一区二区三区在线观看视频网站 | t66y最新地址一地址二69 | 少妇看av一二三区 | 91亚洲精品在线观看 | 色婷婷综合网 | 四虎在线观看 | www.se天堂 | 亚洲精品大片 | 永久av | 亚洲综合成人在线 | 午夜激情在线免费观看 | 色狠狠久久av五月综合 | 久久这里有精品视频 | 一级片欧美 | 黄色在线免费观看视频网站 | 污色视频在线观看 | 在线观看日韩av | 不用播放器的av | 国产成人久久精品一区二区三区 | 国产精品99 | 一区高清 | 国产成人精品一区二区三区视频 | www麻豆|