激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - MyBatis-Plus Generator配置詳解

MyBatis-Plus Generator配置詳解

2020-08-27 00:01黃進(jìn)廣寒 Java教程

這篇文章主要介紹了MyBatis-Plus Generator配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文僅對使用MyBatis-Plus的代碼生成器配置做保存,適合使用了該插件的童鞋做參考。

內(nèi)部有大量默認(rèn)配置,有性趣的童鞋可以研究下源碼。

ps:官方文檔更齊全http://mp.baomidou.com/

?
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
package com.kichun.ucenter.service;
 
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
 
import java.io.File;
import java.util.*;
 
/**
 * Created by wangqichang on 2018/6/1.
 */
public class MabatisPlusGenerator {
 
  //生成文件所在項(xiàng)目路徑
  private static String baseProjectPath = "D:\\Git\\strandrd_official_website\\kichun\\kichun-ucenter\\kichun-ucenter-entity";
 
  //基本包名
  private static String basePackage="com.kichun.ucenter";
  //作者
  private static String authorName="wangqichang";
  //要生成的表名
  private static String[] tables= {"t_role","t_resource","t_role_resource","t_user_role"};
  //table前綴
  private static String prefix="t_";
 
  //數(shù)據(jù)庫配置四要素
  private static String driverName = "net.sf.log4jdbc.DriverSpy";
  private static String url = "jdbc:log4jdbc:mysql://127.0.0.1:3306/kichun_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true";
  private static String username = "不告訴你";
  private static String password = "密碼也不告訴你";
 
 
  public static void main(String[] args) {
 
 
    AutoGenerator gen = new AutoGenerator();
 
    /**
     * 數(shù)據(jù)庫配置
     */
    gen.setDataSource(new DataSourceConfig()
        .setDbType(DbType.MYSQL)
        .setDriverName(driverName)
        .setUrl(url)
        .setUsername(username)
        .setPassword(password)
        .setTypeConvert(new MySqlTypeConvert() {
          // 自定義數(shù)據(jù)庫表字段類型轉(zhuǎn)換【可選】
          @Override
          public DbColumnType processTypeConvert(String fieldType) {
            System.out.println("轉(zhuǎn)換類型:" + fieldType);
            // if ( fieldType.toLowerCase().contains( "tinyint" ) ) {
            //  return DbColumnType.BOOLEAN;
            // }
            return super.processTypeConvert(fieldType);
          }
        }));
 
    /**
     * 全局配置
     */
    gen.setGlobalConfig(new GlobalConfig()
        .setOutputDir( baseProjectPath + "/src/main/java")//輸出目錄
        .setFileOverride(true)// 是否覆蓋文件
        .setActiveRecord(true)// 開啟 activeRecord 模式
        .setEnableCache(false)// XML 二級緩存
        .setBaseResultMap(true)// XML ResultMap
        .setBaseColumnList(true)// XML columList
        .setOpen(false)//生成后打開文件夾
        .setAuthor(authorName)
        // 自定義文件命名,注意 %s 會自動填充表實(shí)體屬性!
        .setMapperName("%sMapper")
        .setXmlName("%sMapper")
        .setServiceName("%sService")
        .setServiceImplName("%sServiceImpl")
        .setControllerName("%sController")
    );
 
    /**
     * 策略配置
     */
    gen.setStrategy(new StrategyConfig()
        // .setCapitalMode(true)// 全局大寫命名
        //.setDbColumnUnderline(true)//全局下劃線命名
        .setTablePrefix(new String[]{prefix})// 此處可以修改為您的表前綴
        .setNaming(NamingStrategy.underline_to_camel)// 表名生成策略
        .setInclude(tables) // 需要生成的表
        .setRestControllerStyle(true)
        //.setExclude(new String[]{"test"}) // 排除生成的表
        // 自定義實(shí)體父類
        // .setSuperEntityClass("com.baomidou.demo.TestEntity")
        // 自定義實(shí)體,公共字段
        //.setSuperEntityColumns(new String[]{"test_id"})
        //.setTableFillList(tableFillList)
        // 自定義 mapper 父類 默認(rèn)BaseMapper
        //.setSuperMapperClass("com.baomidou.mybatisplus.mapper.BaseMapper")
        // 自定義 service 父類 默認(rèn)IService
        // .setSuperServiceClass("com.baomidou.demo.TestService")
        // 自定義 service 實(shí)現(xiàn)類父類 默認(rèn)ServiceImpl
        // .setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl")
        // 自定義 controller 父類
        //.setSuperControllerClass("com.kichun."+packageName+".controller.AbstractController")
        // 【實(shí)體】是否生成字段常量(默認(rèn) false)
        // public static final String ID = "test_id";
        // .setEntityColumnConstant(true)
        // 【實(shí)體】是否為構(gòu)建者模型(默認(rèn) false)
        // public User setName(String name) {this.name = name; return this;}
        // .setEntityBuilderModel(true)
        // 【實(shí)體】是否為lombok模型(默認(rèn) false)<a href="https://projectlombok.org/" rel="external nofollow" >document</a>
        .setEntityLombokModel(true)
        // Boolean類型字段是否移除is前綴處理
        // .setEntityBooleanColumnRemoveIsPrefix(true)
        // .setRestControllerStyle(true)
        // .setControllerMappingHyphenStyle(true)
    );
 
    /**
     * 包配置
     */
    gen.setPackageInfo(new PackageConfig()
            //.setModuleName("User")
            .setParent(basePackage)// 自定義包路徑
            .setController("controller")// 這里是控制器包名,默認(rèn) web
            .setEntity("entity")
            .setMapper("dao")
            .setService("service")
            .setServiceImpl("service.impl")
            .setXml("mapper")
            );
 
    /**
     * 注入自定義配置
     */
    // 注入自定義配置,可以在 VM 中使用 cfg.abc 設(shè)置的值
    InjectionConfig abc = new InjectionConfig() {
      @Override
      public void initMap() {
        Map<String, Object> map = new HashMap<>();
        map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp");
        this.setMap(map);
      }
    };
    //自定義文件輸出位置(非必須)
    List<FileOutConfig> fileOutList = new ArrayList<>();
    fileOutList.add(new FileOutConfig("/templates/mapper.xml.ftl") {
      @Override
      public String outputFile(TableInfo tableInfo) {
        return baseProjectPath + "/src/main/resources/mappers/" + tableInfo.getEntityName() + ".xml";
      }
    });
    abc.setFileOutConfigList(fileOutList);
    gen.setCfg(abc);
 
    /**
     * 指定模板引擎 默認(rèn)是VelocityTemplateEngine ,需要引入相關(guān)引擎依賴
     */
    gen.setTemplateEngine(new FreemarkerTemplateEngine());
 
    /**
     * 模板配置
     */
    gen.setTemplate(
        // 關(guān)閉默認(rèn) xml 生成,調(diào)整生成 至 根目錄
        new TemplateConfig().setXml(null)
        // 自定義模板配置,模板可以參考源碼 /mybatis-plus/src/main/resources/template 使用 copy
        // 至您項(xiàng)目 src/main/resources/template 目錄下,模板名稱也可自定義如下配置:
        // .setController("...");
        // .setEntity("...");
        // .setMapper("...");
        // .setXml("...");
        // .setService("...");
        // .setServiceImpl("...");
    );
 
    // 執(zhí)行生成
    gen.execute();
  }
}

到此這篇關(guān)于MyBatis-Plus Generator配置詳解的文章就介紹到這了,更多相關(guān)MyBatis-Plus Generator配置內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://www.cnblogs.com/huangjinyong/p/11234268.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 中文日韩 | 视频一区 在线 | 日韩剧情片 | 精品国产一区二区在线观看 | 国产无遮挡一区二区三区毛片日本 | 99精彩视频在线观看 | 久久精品国产清自在天天线 | 午夜精品久久久久久久99热浪潮 | 亚洲一区二区三区精品在线观看 | 日本黄色一级毛片 | 免费国产一区二区视频 | 日韩黄在线观看 | 日本道中文字幕 | 亚洲资源网| av在线免费观看播放 | 久久久久电影网站 | www.69色 | 国产69精品久久久久久久久久 | 久久久电影电视剧免费看 | 欧美日韩色片 | 色人阁导航 | 免费在线观看成年人视频 | 国产精品久久久久久久午夜片 | 999久久久久久 | 久久久久久久久久久久久久久伊免 | 国产在线看片 | 欧美一级黄色免费 | av电影网站在线 | 素人视频在线观看免费 | 欧美不卡| 特级毛片全部免费播放器 | 国产精品观看在线亚洲人成网 | 国产一区二区三区黄 | 久久国产亚洲精品 | 欧洲成人一区二区 | 国产三级影院 | 国内免费视频成人精品 | 毛毛片在线看 | 亚洲精品成人久久 | 九九热在线视频观看这里只有精品 | 欧美h版在线观看 |