<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SpringBoot代碼生成器-基于Mybatis Plus

          共 4256字,需瀏覽 9分鐘

           ·

          2021-12-15 22:25

          SpringBoot代碼生成器-基于Mybatis Plus

          可在SpringBoot項目中,快速生成基本結(jié)構(gòu)代碼,并且映射數(shù)據(jù)庫字段實體,方便快捷。


          快速搭建項目結(jié)構(gòu),實用性+++++?。。?!


          配置好生成器代碼參數(shù)即可一鍵生成代碼。


          1.引入依賴:

          ????????
          ????????<dependency>
          ????????????<groupId>com.baomidougroupId>
          ????????????<artifactId>mybatis-plus-boot-starterartifactId>
          ????????????<version>3.4.2version>
          ????????dependency>

          ????????
          ????????<dependency>
          ????????????<groupId>com.baomidougroupId>
          ????????????<artifactId>mybatis-plus-generatorartifactId>
          ????????????<version>3.0-RC1version>
          ????????dependency>

          ????????
          ????????<dependency>
          ????????????<groupId>org.apache.velocitygroupId>
          ????????????<artifactId>velocityartifactId>
          ????????????<version>1.7version>
          ????????dependency>

          ????????
          ????????<dependency>
          ????????????<groupId>org.projectlombokgroupId>
          ????????????<artifactId>lombokartifactId>
          ????????????<version>1.18.20version>
          ????????dependency>


          2.代碼生成器:

          package?com.hbm.codegeneration;

          import?com.baomidou.mybatisplus.annotation.DbType;
          import?com.baomidou.mybatisplus.annotation.FieldFill;
          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.po.TableFill;
          import?com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
          import?com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;

          import?java.util.ArrayList;
          import?java.util.List;

          /**
          ?*?代碼生成器
          ?*
          ?*?@Author?黃柏茗
          ?*?@Date?2021-12-10
          ?*/

          public?class?Main?{
          ????public?static?void?main(String[]?args)?{
          ????
          ????????//代碼生成器
          ????????AutoGenerator?autoGenerator?=?new?AutoGenerator();

          ????????//1.數(shù)據(jù)源配置
          ????????DataSourceConfig?dataSourceConfig?=?new?DataSourceConfig();
          ????????dataSourceConfig.setDbType(DbType.MYSQL);//數(shù)據(jù)庫枚舉類型
          ????????dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
          ????????dataSourceConfig.setUsername("root");
          ????????dataSourceConfig.setPassword("1234");
          ????????dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/Test?useUnicode=true&characterEncoding=UTF-8");
          ????????autoGenerator.setDataSource(dataSourceConfig);?//數(shù)據(jù)源配置進自動生成器里

          ????????//2.全局配置
          ????????GlobalConfig?globalConfig?=?new?GlobalConfig();
          ????????globalConfig.setOpen(false);?//代碼生成后是否自動打開?(代碼生成完成后以文件夾形式彈出來)
          ????????globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");//設(shè)置代碼輸出路徑(當前系統(tǒng)項目路徑,源代碼Java里面)
          ????????globalConfig.setAuthor("黃柏茗");?//作者名
          ????????globalConfig.setServiceName("%sService");?//%s代表表名前綴,后面補上Service
          ????????autoGenerator.setGlobalConfig(globalConfig);

          ????????//3.包配置
          ????????PackageConfig?packageConfig?=?new?PackageConfig();
          ????????packageConfig.setParent("com.hbm.codegeneration");//父包名
          ????????packageConfig.setEntity("entity");//實體類包名
          ????????packageConfig.setMapper("mapper");//mapper包名
          ????????packageConfig.setController("controller");//控制層包名
          ????????packageConfig.setService("service");//業(yè)務(wù)層接口包名
          ????????packageConfig.setServiceImpl("service.impl");//業(yè)務(wù)層實現(xiàn)類包名
          ????????autoGenerator.setPackageInfo(packageConfig);

          ????????//策略配置
          ????????StrategyConfig?strategyConfig?=?new?StrategyConfig();
          ????????strategyConfig.setEntityLombokModel(true);//是否給實體類添加?Lombok?的注解
          ????????strategyConfig.setNaming(NamingStrategy.underline_to_camel);//表名映射類名,下劃線轉(zhuǎn)駝峰??如:表名 user_address 下劃線轉(zhuǎn)駝峰實體類為 userAddress
          ????????strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);//表字段映射類屬性,下劃線轉(zhuǎn)駝峰?如:表字段 user_id 下劃線轉(zhuǎn)駝峰實體類屬性 userId

          ????????//4.表自動填充?(mp自動填充,在添加數(shù)據(jù)的時候,創(chuàng)建時間和修改時間,是在滅)??===此處不需要可省略===
          //????????List?list??=?new?ArrayList<>();
          //????????TableFill?create_time?=?new?TableFill("create_time",?FieldFill.INSERT);
          //????????TableFill?update_time?=?new?TableFill("update_time",?FieldFill.INSERT_UPDATE);
          //????????list.add(create_time);
          //????????list.add(update_time);
          //????????strategyConfig.setTableFillList(list);//設(shè)置表自動填充
          ????????autoGenerator.setStrategy(strategyConfig);

          ????????//?5.?配置模板引擎
          ????????//?默認采用velocity模板
          ????????//autoGenerator.setTemplateEngine(new?VelocityTemplateEngine());

          ????????//6.執(zhí)行生成代碼
          ????????autoGenerator.execute();
          ????????System.err.println("代碼生成完成");
          ????}
          }


          測試環(huán)境:

          SpringBoot、Mybatis Plus、MySQL


          測試數(shù)據(jù)庫表:

          --?用戶表
          create?table?User(
          userid?int?primary?key?auto_increment?comment?'用戶主鍵ID',
          userName?varchar(40)?comment?'用戶名',
          adress_Id?int?comment?'用戶地址表主鍵ID'
          )

          --?用戶地址表
          create?table?User_Address(
          addressId?int?primary?key?auto_increment?comment?'地址主鍵ID',
          address?varchar(200)?comment?'具體地址'
          )


          生成代碼結(jié)構(gòu):



          大功告成!


          瀏覽 137
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷,大香蕉 | 五月天操逼图 | 伊人一道本 | 婷婷毛片 | 国产精品夜夜爽7777777 |