中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在MyBatis-Plus逆向工程使用Generator

發布時間:2021-01-11 14:11:48 來源:億速云 閱讀:188 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關如何在MyBatis-Plus逆向工程使用Generator,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

環境搭建

首先創建一張數據庫表

DROP TABLE IF EXISTS user;

CREATE TABLE user
(
 id BIGINT(20) NOT NULL COMMENT '主鍵ID',
 name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
 age INT(11) NULL DEFAULT NULL COMMENT '年齡',
 email VARCHAR(50) NULL DEFAULT NULL COMMENT '郵箱',
 PRIMARY KEY (id)
);

對應的數據如下

DELETE FROM user;

INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

創建SpringBoot項目

創建一個普通的SpringBoot項目,然后引入依賴,既然要跟數據庫打交道,connector肯定不能少

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.18</version>
</dependency>

另外要使用mybatis-plus,當然也要引入該starter

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>3.4.1</version>
</dependency>

由于需要用到逆向工程,所以引入依賴

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-generator</artifactId>
  <version>3.4.1</version>
</dependency>

還需要一個模板引擎的依賴

<dependency>
  <groupId>org.apache.velocity</groupId>
  <artifactId>velocity-engine-core</artifactId>
  <version>2.1</version>
</dependency>

為了方便起見,這里引入Lombok

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <optional>true</optional>
</dependency>

然后編寫一個類,直接執行即可!

class AutoCode {
  public static void main(String[] args) {
    // 1、全局配置
    GlobalConfig globalConfig = new GlobalConfig();//構建全局配置對象
    String projectPath = System.getProperty("user.dir");// 獲取當前用戶的目錄
    globalConfig
        .setOutputDir(projectPath + "/mybatis-plus-01-start/src/main/java")// 輸出文件路徑
        .setAuthor("微信搜一搜:賀賀學編程")// 設置作者名字
        .setOpen(false)// 是否打開資源管理器
        .setFileOverride(true)// 是否覆蓋原來生成的
        .setIdType(IdType.AUTO)// 主鍵策略
        .setBaseResultMap(true)// 生成resultMap
        .setBaseColumnList(true)// XML中生成基礎列
        .setServiceName("%sService");// 生成的service接口名字首字母是否為I,這樣設置就沒有I

    // 2、數據源配置
    DataSourceConfig dataSourceConfig = new DataSourceConfig();// 創建數據源配置
    dataSourceConfig
        .setUrl("jdbc:mysql://127.0.0.1:3306/mybatis_plus?userSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC")
        .setDriverName("com.mysql.cj.jdbc.Driver")
        .setUsername("root")
        .setPassword("root")
        .setDbType(DbType.MYSQL);

    // 3、包配置
    PackageConfig packageConfig = new PackageConfig();
    packageConfig
        .setParent("com.hzy")
        .setEntity("entity")
        .setController("controller")
        .setService("service")
        .setMapper("mapper");

    // 4、策略配置
    StrategyConfig strategyConfig = new StrategyConfig();
    strategyConfig
        .setCapitalMode(true)// 開啟全局大寫命名
        .setInclude("user")// 設置要映射的表
        .setNaming(NamingStrategy.underline_to_camel)// 下劃線到駝峰的命名方式
        .setColumnNaming(NamingStrategy.underline_to_camel)// 下劃線到駝峰的命名方式
        .setEntityLombokModel(false)// 是否使用lombok
        .setRestControllerStyle(true)// 是否開啟rest風格
        .setControllerMappingHyphenStyle(true);// localhost:8080/hello_a_2


    // 5、自定義配置(配置輸出xml文件到resources下)
    InjectionConfig cfg = new InjectionConfig() {
      @Override
      public void initMap() {
        // to do nothing
      }
    };
    List<FileOutConfig> focList = new ArrayList<>();
    String templatePath = "/templates/mapper.xml.vm";
    // 自定義配置會被優先輸出
    focList.add(new FileOutConfig(templatePath) {
      @Override
      public String outputFile(TableInfo tableInfo) {
        // 自定義輸出文件名 , 如果你 Entity 設置了前后綴、此處注意 xml 的名稱會跟著發生變化!!
        return projectPath + "/mybatis-plus-01-start/src/main/resources/mapper/"
            + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
      }
    });
    cfg.setFileOutConfigList(focList);

    // 6、整合配置
    AutoGenerator autoGenerator = new AutoGenerator();// 構建代碼生自動成器對象
    autoGenerator
        .setGlobalConfig(globalConfig)// 將全局配置放到代碼生成器對象中
        .setDataSource(dataSourceConfig)// 將數據源配置放到代碼生成器對象中
        .setPackageInfo(packageConfig)// 將包配置放到代碼生成器對象中
        .setStrategy(strategyConfig)// 將策略配置放到代碼生成器對象中
        .setCfg(cfg)// 將自定義配置放到代碼生成器對象中
        .execute();// 執行!
  }
}

執行結果如下

如何在MyBatis-Plus逆向工程使用Generator

代碼中的注釋比較多,我就不多說了

關于如何在MyBatis-Plus逆向工程使用Generator就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安西县| 安吉县| 南投市| 军事| 镇安县| 永靖县| 铜鼓县| 城市| 鹤壁市| 萝北县| 云浮市| 清水县| 洛宁县| 潼关县| 兴和县| 望奎县| 鱼台县| 临漳县| 绥化市| 临颍县| 新泰市| 博兴县| 灌云县| 瑞金市| 徐汇区| 阿拉善左旗| 咸丰县| 霞浦县| 阿坝| 夹江县| 百色市| 大洼县| 信丰县| 宝鸡市| 磐石市| 犍为县| 丹东市| 云安县| 喀什市| 浦东新区| 习水县|