一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

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

MyBatis-Plus Generator配置詳解

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

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

本文僅對(duì)使用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ù)庫(kù)配置四要素
  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ù)庫(kù)配置
     */
    gen.setDataSource(new DataSourceConfig()
        .setDbType(DbType.MYSQL)
        .setDriverName(driverName)
        .setUrl(url)
        .setUsername(username)
        .setPassword(password)
        .setTypeConvert(new MySqlTypeConvert() {
          // 自定義數(shù)據(jù)庫(kù)表字段類(lèi)型轉(zhuǎn)換【可選】
          @Override
          public DbColumnType processTypeConvert(String fieldType) {
            System.out.println("轉(zhuǎn)換類(lèi)型:" + 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)// 開(kāi)啟 activeRecord 模式
        .setEnableCache(false)// XML 二級(jí)緩存
        .setBaseResultMap(true)// XML ResultMap
        .setBaseColumnList(true)// XML columList
        .setOpen(false)//生成后打開(kāi)文件夾
        .setAuthor(authorName)
        // 自定義文件命名,注意 %s 會(huì)自動(dòng)填充表實(shí)體屬性!
        .setMapperName("%sMapper")
        .setXmlName("%sMapper")
        .setServiceName("%sService")
        .setServiceImplName("%sServiceImpl")
        .setControllerName("%sController")
    );
 
    /**
     * 策略配置
     */
    gen.setStrategy(new StrategyConfig()
        // .setCapitalMode(true)// 全局大寫(xiě)命名
        //.setDbColumnUnderline(true)//全局下劃線命名
        .setTablePrefix(new String[]{prefix})// 此處可以修改為您的表前綴
        .setNaming(NamingStrategy.underline_to_camel)// 表名生成策略
        .setInclude(tables) // 需要生成的表
        .setRestControllerStyle(true)
        //.setExclude(new String[]{"test"}) // 排除生成的表
        // 自定義實(shí)體父類(lèi)
        // .setSuperEntityClass("com.baomidou.demo.TestEntity")
        // 自定義實(shí)體,公共字段
        //.setSuperEntityColumns(new String[]{"test_id"})
        //.setTableFillList(tableFillList)
        // 自定義 mapper 父類(lèi) 默認(rèn)BaseMapper
        //.setSuperMapperClass("com.baomidou.mybatisplus.mapper.BaseMapper")
        // 自定義 service 父類(lèi) 默認(rèn)IService
        // .setSuperServiceClass("com.baomidou.demo.TestService")
        // 自定義 service 實(shí)現(xiàn)類(lèi)父類(lèi) 默認(rèn)ServiceImpl
        // .setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl")
        // 自定義 controller 父類(lèi)
        //.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類(lèi)型字段是否移除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)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 我年轻漂亮的继坶2中字在线播放 | 欧美操大逼视频 | 冰山美人调教耻辱h | 国产自拍影院 | 亚洲视频观看 | 免费观看日本视频 | 亚洲经典| 九九热这里只有精品视频免费 | 国产精品合集一区二区 | 亚洲日本在线观看网址 | blacked亚裔videoshd| 国产成人精品实拍在线 | 动漫美女被吸乳 | 精品四虎国产在免费观看 | 午夜a一级毛片 | 成人区精品一区二区毛片不卡 | 亚洲高清国产拍精品动图 | 欧美亚洲韩国 | 特黄特级高清免费视频毛片 | 婚色阿花在线全文免费笔 | 精品综合在线 | 久99视频精品免费观看福利 | 免费国产一级 | 成人小视频在线免费观看 | 国内精品中文字幕 | 精品久久久久久综合网 | 二次元美女内裤凹陷太深 | 国产高清在线精品一区二区 | wwwav在线 | 精品久久久久免费极品大片 | 四虎影院久久久 | 女人爽到喷水的视频免费看 | 天海翼最新作品 | 五月桃花网婷婷亚洲综合 | 婚色阿花在线全文免费笔 | 欧美日韩一区二区综合在线视频 | 午夜福利视频极品国产83 | 精品国产影院 | 波多野结衣久久国产精品 | 色花堂中文字幕98堂网址 | 欧美日韩精品在线观看 |