天天看點

velocity和generator結合自動生成實體類、Mapper、Service、ServiceImpl、Controller

1、導入pom.xml

<!--       generator  自動生成器配置 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.1</version>
        </dependency>
        <!-- mybatis-plus-generator 根據 velocity來生成實體類模闆的-->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.7</version>
        </dependency>

           

2、建類建立main函數

public static void main(String[] args) {

        //建立generator對象
        AutoGenerator autoGenerator = new AutoGenerator();
        //資料源
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        //資料庫類型
        dataSourceConfig.setDbType(DbType.MYSQL);
        //資料庫位址
        dataSourceConfig.setUrl("jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT");
        //資料庫賬号
        dataSourceConfig.setUsername("root");
        //資料庫密碼
        dataSourceConfig.setPassword("123456");
        //資料庫驅動
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        autoGenerator.setDataSource(dataSourceConfig);
        //全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        //擷取要生成的檔案根目錄
        globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
        //生成後不打開目錄檔案夾
        globalConfig.setOpen(false);
        //設定坐着
        globalConfig.setAuthor("Meng");
        //設定生成的Service名字
        globalConfig.setServiceName("%sService");
        autoGenerator.setGlobalConfig(globalConfig);
        //包資訊
        PackageConfig packageConfig = new PackageConfig();
        //設定要生成的包路徑
        packageConfig.setParent("com.springboot.mybatisplus");
        //設定生成在哪一個檔案夾下面
        packageConfig.setModuleName("generator");
        //設定Controller檔案夾名
        packageConfig.setController("controller");
        //設定Service檔案夾名
        packageConfig.setService("service");
        //設定Service的Impl 層檔案夾名
        packageConfig.setServiceImpl("service.impl");
        //設定Mapper檔案夾名
        packageConfig.setMapper("mapper");
        //設定Entity檔案夾名
        packageConfig.setEntity("entity");
        autoGenerator.setPackageInfo(packageConfig);
        //配置政策
        StrategyConfig strategyConfig = new StrategyConfig();
        //填寫表名,可多填;設定需要哪幾種表生成;如果不設定就會把資料庫裡面的所有表都自動生成對應的類。。。。
        strategyConfig.setInclude("user");
        //設定自動生成Lombok注解  ;需要在pom.xml中引入Lombok
        strategyConfig.setEntityLombokModel(true);
        //設定下劃線自動轉駝峰命名
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        autoGenerator.setStrategy(strategyConfig);
        //關鍵:執行配置資訊,生成檔案
        autoGenerator.execute();
    }
           

筆記、視訊位址