参照のみに使用し、プラグインの靴のために保存を行うように構成されたMyBatisのプラスのコードジェネレータを使用してこの記事。
内部のデフォルトの設定の多くがありますが、あなたは研究のソースの下に子供用の靴で性的な関心を持つことができます。
PS:公式文書より完全http://mp.baomidou.com/
パッケージcom.kichun.ucenter.service。 輸入com.baomidou.mybatisplus.generator.AutoGenerator。 輸入com.baomidou.mybatisplus.generator.InjectionConfig。 輸入 com.baomidou.mybatisplus.generator.config *。; 輸入com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert。 輸入com.baomidou.mybatisplus.generator.config.po.TableInfo; 輸入com.baomidou.mybatisplus.generator.config.rules.DbColumnType。 輸入com.baomidou.mybatisplus.generator.config.rules.DbType。 輸入com.baomidou.mybatisplus.generator.config.rules.NamingStrategy。 インポートcom.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; インポートのjava.io.File; インポート java.utilのクラス*。; / ** * 2018年6月1日ON wangqichangによって作成されます。 * / パブリック クラスMabatisPlusGenerator { // メイクどこプロジェクトパス プライベート 静的な文字列baseProjectPath = "D:\\ \\ strandrd_official_website Gitのkichun \\ \\ \\ kichun-ucenterのkichun-ucenter-エンティティ" ; // 基本的なパッケージ名 プライベート 静的な文字列basePackage =「com.kichun.ucenter " ; // 作者 プライベート 静的な文字列はauthorName =" wangqichang " ; //テーブル名生成する プライベート 静的文字列[] = {テーブル「t_role」、「t_resource」、「t_role_resource」、「t_user_roleを」}; // テーブルプレフィックス プライベート 静的文字列の接頭辞=「T_」; // データベース4つの要素が配置された プライベート 静的な文字列DRIVERNAME = "net.sf.log4jdbc.DriverSpy" ; プライベート 静的な文字列のURL = "はjdbc:log4jdbc:MySQLの://127.0.0.1:3306 / =真kichun_dev useUnicode&characterEncoding = UTF8&zeroDateTimeBehavior = = convertToNull&allowMultiQueriesに本当か?" ; プライベート 静的な文字列usernameは=「あなたを教えていません」。 プライベート 静的な文字列のパスワード=「パスワードはあなたを教えてくれありません」。 公共の 静的な 無効メイン(文字列[] args)を{ 自動発生ゲン = 新しい新しい自動発生(); / ** *データベースの設定 * / gen.setDataSource(新新DataSourceConfig() .setDbType(DbType.MYSQL) .setDriverName(DRIVERNAME) .setUrl( URL) .setUsername(ユーザー名) .setPassword(パスワード) .setTypeConvert(新新MySqlTypeConvert(){ // カスタム型変換テーブル列[、オプション] @Override 公衆DbColumnType processTypeConvert(文字列FIELDTYPE){ するSystem.out.println( "转换类型:" + FIELDTYPE)。 // (fieldType.toLowerCase())( "TINYINT"を含む。)であれば{ // DbColumnType.BOOLEANを返します。 // } を返す スーパー.processTypeConvert(FIELDTYPEを)。 } }))。 / ** *全局配置 * / gen.setGlobalConfig(新GlobalConfig() .setOutputDir(baseProjectPath + "/ srcに/メイン/ javaの")// 输出目录 .setFileOverrideは(真の)// ファイルに上書きするかどうか (.setActiveRecordをtrueに)// オープンのActiveRecordモード .setEnableCache(偽)// XMLの二次キャッシュ .setBaseResultMap(trueに)// ResultMapsについてXMLがある (.setBaseColumnList trueには)// XML columList 。 (setOpen falseに)// 開いているフォルダを生成した後 .setAuthor(はauthorNameは) // カスタムファイル名は、%sの注意実体属性テーブルが自動的に入力され! .setMapperName( "%sMapper" ) .setXmlName( "%sMapper" ) .setServiceName( "%Sservice" ) .setServiceImplName( "%sServiceImpl" ) .setControllerName( "%sController" ) ); / ** *ポリシー設定 / * gen.setStrategy(新新StrategyConfig() // .setCapitalMode(真の)// という名前のグローバル資本 // 真)に.setDbColumnUnderline(// グローバル下線付きの名前 。setTablePrefix( 新String []型{プレフィックス})// ここでは、あなたのテーブルプレフィックス変更することができます .setNaming(NamingStrategy.underline_to_camel)// テーブル生成戦略 .setInclude(テーブル)// テーブルを生成する必要 .setRestControllerStyle(真の) //を。 setExclude(新しい新しいString [] { "テスト"})// 除外生成されたテーブル // カスタムエンティティの親 // .setSuperEntityClass( "com.baomidou.demo.TestEntity") // カスタムエンティティ、パブリックフィールド // .setSuperEntityColumns(新しい新しいString [] { "test_id"}) // .setTableFillList(tableFillList) // カスタムマッパースーパークラスのデフォルトBaseMapper // .setSuperMapperClass( "com.baomidou.mybatisplus.mapper.BaseMapper") // カスタムサービスのスーパークラスのデフォルトIService // .setSuperServiceClass( "com.baomidou.demo.TestService") // カスタムサービス実装クラスの親クラスのデフォルトServiceImpl // .setSuperServiceImplClass( "com.baomidou.demo.TestServiceImpl") // カスタムコントローラスーパー // .setSuperControllerClass( "com.kichun。"のpackageName + +。「コントローラ。 AbstractController「) // 定数フィールド(デフォルトはfalseを生成するかどうか[エンティティ]) //;最終的な静的文字列ID =パブリック「test_id」 // .setEntityColumnConstant(真の) // []エンティティモデルビルダーかどうか(デフォルトはfalse) // ユーザー(文字列名){名前= this.nameのsetName公共、これを返します。 } // (真の).setEntityBuilderModel // [エンティティ]ロンボクモデル(デフォルトはfalse)の<a href=" "> かhttps://projectlombok.org/ </a>の文献 .setEntityLombokModel(真の) // ブール型プレフィックスフィールドを削除するかどうかに処理される // .setEntityBooleanColumnRemoveIsPrefix(trueに) //(真の).setRestControllerStyle // .setControllerMappingHyphenStyle(真の) ); / ** *パッケージの構成 * / gen.setPackageInfo(新新PackageConfig() // .setModuleName( "ユーザー") .setParent(basePackage)// カスタムパッケージのパス .setController( "コントローラ")// ここでは、デフォルトのWeb、コントローラのパッケージ名です .setEntity( "エンティティ" ) .setMapper( "DAO" ) .setService( "サービス" ) 。setServiceImpl( "service.impl" ) .setXml( "マッパー" ) ); / ** *注射カスタム設定 * / // 注射カスタム構成は、VM cfg.abcに設定された値を使用することができます = InjectionConfig ABCが新しい新InjectionConfig(){ @Override 公共 無効initMap(){ 地図 <文字列、オブジェクトは、> =、地図新しい新しいのHashMap <>を(); map.put( "ABC"、この .. .getConfig()getGlobalConfig()GETAUTHOR()+ " -mp " ); この.setMap(マップ); } }; // カスタムファイル出力場所(オプション) 一覧<FileOutConfig> = fileOutList 新しい新しいのArrayList <> (); fileOutList.add(新新 FileOutConfig( "/テンプレート/ mapper.xml.ftl" ){ @Override 公共ストリングOUTPUTFILE(TableInfo TableInfo){ 戻り baseProjectPath + "/ SRC /メイン/リソース/マッパーによって/" + tableInfo.getEntityName()+ "の.xml" ; } }); abc.setFileOutConfigList(fileOutList) ゲン.setCfg(ABC); / ** *は、関連するエンジンを導入する必要性に依存して、デフォルトのテンプレートエンジンがVelocityTemplateEngineで指定します * / gen.setTemplateEngineを(新新FreemarkerTemplateEngine()); / ** *テンプレートの設定 * / gen.setTemplate( // ルートディレクトリに調整閉じる発電デフォルトのXMLは、生成し 新しい新しい(。setXml TemplateConfig()ヌル) // カスタム構成テンプレートを、テンプレート/ソースを参照してもよいですMyBatisのプラス/ srcに/メイン/リソース/テンプレートのコピーを使用して 、// プロジェクトのsrc /テンプレートの下でメイン/リソース/ディレクトリに以下のように、テンプレート名は、カスタム設定することができます: // .setController(「...」); / / .setEntity( "... "); // .setMapper(" ... "); // .setXml(" ... "); //.setService( "... "); //.setServiceImpl( "..."); ); // 生成行う gen.executeを(); } }