mybatisPlusコード生成ツール

手は、人々は疲れて作るが、また、真剣に開発効率に影響を与えるだけでなく、実体、DAO、mapper.xml、サービス、古いルーチンのコントローラをノック。開発者として、あなたはそれを達成するためにビジネス機能に集中べきではないのですか?

これらすべての余分なビジネス・ロジックの後、既製のコードだけで罰金がある場合は!

これはない、mybatisplus容易コードを生成するコードジェネレータ、MVC 3を提供します。

ポンポンファイルの最初に、導入

        <依存性> 
            <groupIdを>のMySQL </のgroupId> 
            <たartifactId> MySQLのコネクタからJava </たartifactId> 
        </依存> 
        <依存性> 
            <のgroupId> org.projectlombok </のgroupId> 
            <たartifactId>ロンボク</たartifactId> 
            <オプション>  </オプション> 
        </依存関係> 
        <依存> 
            <groupIdを> com.baomidou </ groupIdを> 
            <たartifactId> MyBatisのプラスブートスターター</たartifactId> 
            <バージョン> 3.0.6 </バージョン> 
        </依存関係> 
        <依存> 
            <バージョン> 2.1 </バージョン>
            <groupIdを> org.apache.velocity </ groupIdを>
            <たartifactId>速度エンジンコア</たartifactId>
        </依存関係>    

次に、コードジェネレータは、次のとおりです。

パッケージのドメイン; 

輸入com.baomidou.mybatisplus.annotation.DbType。
輸入com.baomidou.mybatisplus.generator.AutoGenerator。
輸入com.baomidou.mybatisplus.generator.config.DataSourceConfig。
輸入com.baomidou.mybatisplus.generator.config.GlobalConfig。
輸入com.baomidou.mybatisplus.generator.config.PackageConfig。
輸入com.baomidou.mybatisplus.generator.config.StrategyConfig。
輸入com.baomidou.mybatisplus.generator.config.rules.NamingStrategy。
輸入com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine。

/ ** 
 *生成代码工具
 * / 
パブリック クラス{生成

    パブリック 静的 ボイド{メイン(文字列[]引数)を
        Gを生成する = 新しい(生成)。
        ブール startWithIは= ; 
        文字列プロジェクト名 =「デモ」
        文字列のpackageName = "com.xp.boot.web" 
        文字列のtableNameの = "test_log" 
        g.generateByTables(startWithI、プロジェクト名、のpackageName、tableNameの)。
    } 
    / ** 
     *根据表自动生成
     * 
     * @param serviceNameStartWithI默认偽为
     * @parampackageNameパッケージ名
     * @param テーブル名テーブル
      * / 
    プライベート 無効 generateByTables(ブールserviceNameStartWithI、プロジェクト名の文字列、文字列のpackageName、テーブル名の文字列...){
         // コンフィグレーションデータソース 
        DataSourceConfig dataSourceConfig = getDataSourceConfig();
         // ポリシー構成 
        StrategyConfig strategyConfig = getStrategyConfig(テーブル名);
         // グローバル変数構成 
        globalconfig globalconfig = getGlobalConfig(serviceNameStartWithI、プロジェクト名);
         // パッケージ名が配置 
        packageConfig packageConfig =getPackageConfig(のpackageName);
         // 自動的に生成
        atuoGenerator(dataSourceConfig、strategyConfig、globalconfig、packageConfig); 
    } 

    / ** 
     *統合
     * 
     * @param dataSourceConfig構成データソース
     * @param strategyConfigポリシー設定
     * @param 設定グローバル設定変数
     * @param packageConfig構成パッケージ名
      * / 
    プライベート ボイドatuoGenerator(dataSourceConfig dataSourceConfig、strategyConfig strategyConfig、globalconfig設定、packageConfig packageConfig){
         新しい新しい自動発生()
                .setGlobalConfig(設定)
                .setDataSource(dataSourceConfig)
                .setStrategy(strategyConfig)
                .setPackageInfo(packageConfig)
                .setTemplateEngine(新しいVelocityTemplateEngine())
                .execute(); 
    } 

    / ** 
     *设置包名
     * 
     * @param のpackageName父路径包名
     * @return PackageConfig包名配置
      * / 
    プライベートPackageConfig getPackageConfig(文字列のpackageName){
         戻り 新しいPackageConfigを()
                .setParent(のpackageName)
                .setXml( "マッピング" 
                .setMapper( "マッピング" 
                .setController( "コントローラ" 
                .setService( "サービス" 
                .setEntity( "エンティティ" )。
    } 

    / ** 
     *全局配置
     * 
     * @param serviceNameStartWithI偽
     * @return GlobalConfig
      * / 
    プライベート GlobalConfig getGlobalConfig(ブールserviceNameStartWithI、Globalconfig(); 
        globalconfig 
                .setBaseColumnList(真の
                .setBaseResultMap(真の
                .setActiveRecord(falseに
                .setAuthor( "ニコラス-ショー" // 出力パス設定 
                .setOutputDir(はSystem.getProperty( "はuser.dir") +「を/ "+プロジェクト名+" / srcに/メイン/ Javaの/ " 
                .setFileOverride(真の);
         IF(!serviceNameStartWithI){
             // 設定されたサービス名 
            globalConfig.setServiceName(" %Sservice " );
        }
        返すglobalconfig; 
    } 

    / ** 
     *ポリシー設定
     * 
     * @param テーブル名、テーブル名
     * @return StrategyConfig
      * / 
    プライベートStrategyConfig getStrategyConfig(文字列...テーブル名){
         返す 新新)(StrategyConfigを
                 // ORACLE注意という名前のグローバル資本 
                .setCapitalMode(trueに
                .setEntityLombokModel(真の
                .setRestControllerStyle(// ファイルの名前付けポリシーにデータベーステーブルから
                (NamingStrategy.underline_to_camel).setNaming 
                .setColumnNaming(NamingStrategy.underline_to_camel)
                // アレイの複数のテーブル名、テーブル名を生成する必要
                .setInclude(テーブル名)であり; 
    } 

    / ** 
     *設定データソース
     * 
     * @returnのデータソースの構成DataSourceConfig
      * / 
    プライベートDataSourceConfig getDataSourceConfig(){
         返す 新しい新DataSourceConfig()setDbType(DbType.MYSQLを)。
                .setUrl( "JDBC:MySQLの:// localhostの:? 3306 /テストserverTimezone =香港&nullCatalogMeansCurrent =真&characterEncoding = UTF-8&useSslオプション= falseに" 
                .setUsername( "ルート"
                .setPassword( "123456" 
                .setDriverName( "com.mysql.cj.jdbc.Driver" )。
    } 


}

 

おすすめ

転載: www.cnblogs.com/xphhh/p/11460600.html