日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

MP(MyBaitsPlus)代碼生成器

作者:7258281014 更新時(shí)間: 2022-09-22 編程語言

目錄

  • 一、導(dǎo)入依賴
  • 二、數(shù)據(jù)庫
  • 三、實(shí)現(xiàn)代碼

一、導(dǎo)入依賴

        <!-- velocity 模板引擎, Mybatis Plus 代碼生成器需要 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>

        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

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

        <!--lombok用來簡化實(shí)體類:需要安裝lombok插件-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!--swagger-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>

二、數(shù)據(jù)庫

demo_db 庫 user 表
在這里插入圖片描述

三、實(shí)現(xiàn)代碼

@SpringBootTest
class DemoApplicationTests {

    @Test
    void contextLoads() {
        // 創(chuàng)建代碼生成器
        AutoGenerator autoGenerator = new AutoGenerator();
        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        globalConfig.setOutputDir(projectPath + "/src/main/java");
        globalConfig.setAuthor("aword");
        // 生成后是否打開資源管理器
        globalConfig.setOpen(false);
        // 重新生成時(shí)文件是否覆蓋
        globalConfig.setFileOverride(false);
        // mp生成service層代碼,默認(rèn)接口名稱第一個(gè)字母有I
        // 去掉Service接口的首字母I
        globalConfig.setServiceName("%sService");
        // 主鍵策略
        globalConfig.setIdType(IdType.ID_WORKER);
        // 定義生成的實(shí)體類中日期類型
        globalConfig.setDateType(DateType.ONLY_DATE);
        // 開啟Swagger2模式
        globalConfig.setSwagger2(true);
        autoGenerator.setGlobalConfig(globalConfig);
        // 數(shù)據(jù)源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/demo_db?serverTimezone=GMT%2B8");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("root");
        dataSourceConfig.setDbType(DbType.MYSQL);
        autoGenerator.setDataSource(dataSourceConfig);
        // 生成代碼包配置
        PackageConfig packageConfig = new PackageConfig();
        // 模塊包,controller,entity,mapper,service等包的上一級
        packageConfig.setModuleName("demo");
        // 模塊包的上一級
        packageConfig.setParent("com.aword");
        packageConfig.setController("controller");
        packageConfig.setEntity("entity");
        packageConfig.setService("service");
        packageConfig.setMapper("mapper");
        autoGenerator.setPackageInfo(packageConfig);
        // 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        // 數(shù)據(jù)庫表名
        strategyConfig.setInclude("user");
        // 數(shù)據(jù)庫表映射到實(shí)體的命名策略
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        // 生成實(shí)體時(shí)去掉表前綴
        strategyConfig.setTablePrefix(packageConfig.getModuleName() + "_");
        // 數(shù)據(jù)庫表字段映射到實(shí)體的命名策略
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        // lombok 模型 @Accessors(chain = true) setter鏈?zhǔn)讲僮?        strategyConfig.setEntityLombokModel(true);
        // restful api風(fēng)格控制器
        strategyConfig.setRestControllerStyle(true);
        // url中駝峰轉(zhuǎn)連字符
        strategyConfig.setControllerMappingHyphenStyle(true);
        // 設(shè)置策略配置
        autoGenerator.setStrategy(strategyConfig);
        // 執(zhí)行
        autoGenerator.execute();
        System.out.println("生成代碼成功......");
    }
}

生成目錄
在這里插入圖片描述

原文鏈接:https://blog.csdn.net/qq_41610957/article/details/126939049

欄目分類
最近更新