最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis plus代碼生成器配置過(guò)程解析

 更新時(shí)間:2019年11月12日 10:53:53   作者:濤先森の日常  
這篇文章主要介紹了mybatis plus代碼生成器配置過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了mybatis plus代碼生成器配置過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

最近在玩項(xiàng)目,發(fā)現(xiàn)自己寫嚴(yán)重浪費(fèi)時(shí)間~于是想到了代碼生成器,之前用過(guò)一次的mybatis-plus,再重新實(shí)現(xiàn)了一下

確保修改好對(duì)應(yīng)的配置即可

依賴:

<dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>2.2.0</version>
    </dependency>
    <!-- mysql驅(qū)動(dòng) -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.47</version>
    </dependency>
    <dependency>
      <groupId>freemarker</groupId>
      <artifactId>freemarker</artifactId>
      <version>2.3.8</version>
    </dependency>

代碼:

package cn.zytao.taosir.generator;
 
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
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;
 
/**
 * <p>
 * mybaits-plus代碼生成器
 * </p>
 */
public class Generator {
 
  /**
   * <p>
   * MySQL 生成演示
   * </p>
   */
  public static void main(String[] args) {
    AutoGenerator mpg = new AutoGenerator();
    // 選擇 freemarker 引擎,默認(rèn) Veloctiy
    mpg.setTemplateEngine(new FreemarkerTemplateEngine());
 
    // 全局配置
    GlobalConfig gc = new GlobalConfig();
    gc.setAuthor("taosir");
    gc.setOutputDir("F://");
    gc.setFileOverride(false);// 是否覆蓋同名文件,默認(rèn)是false
    gc.setActiveRecord(true);// 不需要ActiveRecord特性的請(qǐng)改為false
    gc.setEnableCache(false);// XML 二級(jí)緩存
    gc.setBaseResultMap(false);// XML ResultMap
    gc.setBaseColumnList(false);// XML columList
    /* 自定義文件命名,注意 %s 會(huì)自動(dòng)填充表實(shí)體屬性! */
    gc.setMapperName("%sMapper");
    // gc.setXmlName("%sDao");
    gc.setServiceName("%sService");
    gc.setServiceImplName("%sServiceImpl");
    //gc.setControllerName("%sController");
    mpg.setGlobalConfig(gc);
 
    // 數(shù)據(jù)源配置
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setDbType(DbType.MYSQL);
    dsc.setTypeConvert(new MySqlTypeConvert() {
      // 自定義數(shù)據(jù)庫(kù)表字段類型轉(zhuǎn)換【可選】
      @Override
      public DbColumnType processTypeConvert(String fieldType) {
        System.out.println("轉(zhuǎn)換類型:" + fieldType);
        // 注意??!processTypeConvert 存在默認(rèn)類型轉(zhuǎn)換,如果不是你要的效果請(qǐng)自定義返回、非如下直接返回。
        return super.processTypeConvert(fieldType);
      }
    });
    dsc.setDriverName("com.mysql.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("root");
    dsc.setUrl("jdbc:mysql://localhost:3306/taosir?useUnicode=true&characterEncoding=utf8");
    mpg.setDataSource(dsc);
 
    // 策略配置
    StrategyConfig strategy = new StrategyConfig();
    //strategy.setCapitalMode(true);// 全局大寫命名 ORACLE 注意
    //strategy.setTablePrefix(new String[] { "user_" });// 表前綴
    strategy.setNaming(NamingStrategy.nochange);// 表名生成策略
    strategy.setInclude(new String[] { "user"}); // 需要生成的表
    // strategy.setExclude(new String[]{"test"}); // 排除生成的表
    // 自定義實(shí)體父類
    // strategy.setSuperEntityClass("com.baomidou.demo.TestEntity");
    // 自定義實(shí)體,公共字段
    // strategy.setSuperEntityColumns(new String[] { "id", "age" });
    // 自定義 mapper 父類
    // strategy.setSuperMapperClass("com.baomidou.demo.TestMapper");
    // 自定義 service 父類
    // strategy.setSuperServiceClass("com.baomidou.demo.TestService");
    // 自定義 service 實(shí)現(xiàn)類父類
    // strategy.setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl");
    // 自定義 controller 父類
    // strategy.setSuperControllerClass("com.baomidou.demo.TestController");
    // 【實(shí)體】是否生成字段常量(默認(rèn) false)
    // public static final String ID = "id";
    // strategy.setEntityColumnConstant(true);
    // 【實(shí)體】是否為構(gòu)建者模型(默認(rèn) false)
    // public User setName(String name) {this.name = name; return this;}
    // strategy.setEntityBuilderModel(true);
    mpg.setStrategy(strategy);
 
    // 包配置
    PackageConfig pc = new PackageConfig();
    pc.setParent("cn.zytao.taosir");
//    pc.setModuleName("test");
    mpg.setPackageInfo(pc);
 
    // 注入自定義配置,可以在 VM 中使用 cfg.abc 【可無(wú)】
//    InjectionConfig cfg = new InjectionConfig() {
//      @Override
//      public void initMap() {
//        Map<String, Object> map = new HashMap<String, Object>();
//        map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp");
//        this.setMap(map);
//      }
//    };
//
//    // 自定義 xxList.jsp 生成
//    List<FileOutConfig> focList = new ArrayList<>();
//    focList.add(new FileOutConfig("/template/list.jsp.vm") {
//      @Override
//      public String outputFile(TableInfo tableInfo) {
//        // 自定義輸入文件名稱
//        return "D://my_" + tableInfo.getEntityName() + ".jsp";
//      }
//    });
//    cfg.setFileOutConfigList(focList);
//    mpg.setCfg(cfg);
//
//    // 調(diào)整 xml 生成目錄演示
//    focList.add(new FileOutConfig("/templates/mapper.xml.vm") {
//      @Override
//      public String outputFile(TableInfo tableInfo) {
//        return "/develop/code/xml/" + tableInfo.getEntityName() + ".xml";
//      }
//    });
//    cfg.setFileOutConfigList(focList);
//    mpg.setCfg(cfg);
//
//    // 關(guān)閉默認(rèn) xml 生成,調(diào)整生成 至 根目錄
//    TemplateConfig tc = new TemplateConfig();
//    tc.setXml(null);
//    mpg.setTemplate(tc);
 
    // 自定義模板配置,可以 copy 源碼 mybatis-plus/src/main/resources/templates 下面內(nèi)容修改,
    // 放置自己項(xiàng)目的 src/main/resources/templates 目錄下, 默認(rèn)名稱一下可以不配置,也可以自定義模板名稱
    // TemplateConfig tc = new TemplateConfig();
    // tc.setController("...");
    // tc.setEntity("...");
    // tc.setMapper("...");
    // tc.setXml("...");
    // tc.setService("...");
    // tc.setServiceImpl("...");
    // 如上任何一個(gè)模塊如果設(shè)置 空 OR Null 將不生成該模塊。
    // mpg.setTemplate(tc);
 
    // 執(zhí)行生成
    mpg.execute();
 
    // 打印注入設(shè)置【可無(wú)】
//    System.err.println(mpg.getCfg().getMap().get("abc"));
  }
}

建個(gè)工程丟下去,修改相關(guān)配置,run完事~~~~

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Java中的強(qiáng)制類型轉(zhuǎn)換和二進(jìn)制表示問(wèn)題

    解決Java中的強(qiáng)制類型轉(zhuǎn)換和二進(jìn)制表示問(wèn)題

    這篇文章主要介紹了解決Java中的強(qiáng)制類型轉(zhuǎn)換和二進(jìn)制表示問(wèn)題,需要的朋友可以參考下
    2019-05-05
  • MybatisPlus為何可以不用@MapperScan詳解

    MybatisPlus為何可以不用@MapperScan詳解

    這篇文章主要給大家介紹了關(guān)于MybatisPlus為何可以不用@MapperScan的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MybatisPlus具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-04-04
  • idea無(wú)法切換分支報(bào)錯(cuò)問(wèn)題及解決

    idea無(wú)法切換分支報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了idea無(wú)法切換分支報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • resultMap如何處理復(fù)雜映射問(wèn)題

    resultMap如何處理復(fù)雜映射問(wèn)題

    這篇文章主要介紹了resultMap如何處理復(fù)雜映射問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • java?MongoDB實(shí)現(xiàn)列表分頁(yè)查詢的示例代碼

    java?MongoDB實(shí)現(xiàn)列表分頁(yè)查詢的示例代碼

    本文主要介紹了java?MongoDB實(shí)現(xiàn)列表分頁(yè)查詢的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 關(guān)于mybatis plus 中的查詢優(yōu)化問(wèn)題

    關(guān)于mybatis plus 中的查詢優(yōu)化問(wèn)題

    這篇文章主要介紹了關(guān)于mybatis plus 中的查詢優(yōu)化問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 親手教你SpringBoot中的多數(shù)據(jù)源集成問(wèn)題

    親手教你SpringBoot中的多數(shù)據(jù)源集成問(wèn)題

    本文主要是介紹基于springboot的多數(shù)據(jù)源切換,輕量級(jí)的一種集成方案,對(duì)于小型的應(yīng)用可以采用這種方案,我之前在項(xiàng)目中用到是因?yàn)楹?jiǎn)單,便于擴(kuò)展以及優(yōu)化,對(duì)SpringBoot多數(shù)據(jù)源集成問(wèn)題感興趣的朋友一起看看吧
    2022-03-03
  • 解決spring-cloud-config 多服務(wù)共享公共配置的問(wèn)題

    解決spring-cloud-config 多服務(wù)共享公共配置的問(wèn)題

    這篇文章主要介紹了解決spring-cloud-config 多服務(wù)共享公共配置的問(wèn)題,本文通過(guò)多種方法給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 新版idea工具欄菜單展開(kāi)與合并顯示方式

    新版idea工具欄菜單展開(kāi)與合并顯示方式

    文章介紹了如何在新版IDEA中調(diào)整工具欄菜單的顯示方式,通過(guò)取消勾選設(shè)置中的某個(gè)選項(xiàng),可以使菜單展開(kāi)更加方便
    2025-01-01
  • 基于Java SSM框架實(shí)現(xiàn)簡(jiǎn)易的評(píng)教系統(tǒng)

    基于Java SSM框架實(shí)現(xiàn)簡(jiǎn)易的評(píng)教系統(tǒng)

    這篇文章主要介紹了通過(guò)Java SSM框架實(shí)現(xiàn)一個(gè)簡(jiǎn)易的評(píng)教系統(tǒng)的示例代碼,文中的代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-02-02

最新評(píng)論

凤凰县| 长沙市| 洪洞县| 右玉县| 青河县| 阳新县| 左贡县| 云龙县| 赫章县| 尤溪县| 海安县| 彩票| 越西县| 伊通| 北流市| 玉屏| 乌拉特前旗| 高唐县| 东安县| 陇川县| 元阳县| 彭水| 中牟县| 蕲春县| 黔江区| 花莲市| 竹山县| 长泰县| 商洛市| 喜德县| 延川县| 南部县| 中阳县| 文成县| 南阳市| 民勤县| 临漳县| 二连浩特市| 甘谷县| 兴城市| 和田县|