MybatisGenerator拡張機能に基づくモデルとマッパーとサービスとコントローラーのコードジェネレーター
データベーステーブルに
基づいてMybatisModel&Mapper&Service&Controllerなどのコードを自動的に生成する新しくリリースされたコードジェネレーター。MybatisGeneratorに基づいて、JavaMapperとXmlMapperの実装を拡張します。一般的なビジネスWebサイトのバックエンドロジックは次のようになります。マウスをクリックするだけで実現でき
ます。プロジェクトリンク:https://github.com/fenglibin/CodeGenerator。
Javaコードジェネレータ
前書き
これは、データベーステーブル
に基づくコードジェネレーターで、Model&Mapper&Service&ServiceImpl&Controllerなどのコードを自動的に生成します。
ユーザーはftlテンプレートを変更して、
主に日常の作業や練習を解決するために必要な基本的なコードブロックを生成できます。重複するワークロードコードの
現在、Mybatisの基礎となるコードの生成のみをサポートしています
注:このプロジェクトフォークは 、元の作成者zhaohaihaoのおかげで、https://github.com/zhaohaihao/CodeGeneratorからのものです。しかし、コードを使用していると、元のプロジェクトに多くの機能があるか、使用シナリオが自分に合わないことがわかったので、元のプロジェクトに基づいて大幅な調整を行いました。元の変更点は次のとおりです。1。tk.mybatisとpagehelperへの依存関係を削除し、関連するロジックを完全に実装します。これは、mybatisの元の実装の方が自分に適しているとまだ感じているためです。2。カスタムCustomizeJavaMapperGeneratorとCustomizeXMLMapperGeneratorは、生成する必要のある関数を柔軟にカスタマイズできます。3。条件付きページングクエリを実現し、Controlerレイヤーで結果の統一された返還を実現します。4。元々ユーザーの参加が必要だったいくつかの構成とカスタマイズを完全に削除します。 MybatisGenerator Standardの実装に従って、構成がより簡潔になり、コードの実装が簡単になります。5。ユニットテストの依存関係を増やして、生成されたコードのユニットテストを容易にします。
ディレクトリ構造
-
├── src
-
│ ├── main
-
│ │ ├── java
-
│ │ │ └── com
-
│ │ │ ├── codegen
-
│ │ │ │ └── vo // 项目需要的代码
-
│ │ │ │ ├── Page.java
-
│ │ │ │ └── Result.java
-
│ │ │ └── gencode // 存放生成的代码(该目录中的代码可以删除)
-
│ │ │ └── generate
-
│ │ │ ├── persistence
-
│ │ │ │ ├── mapper
-
│ │ │ │ │ └── SitesMapper.java
-
│ │ │ │ └── model
-
│ │ │ │ └── Sites.java
-
│ │ │ ├── service
-
│ │ │ │ └── SitesService.java
-
│ │ │ └── web
-
│ │ │ └── controller
-
│ │ │ └── SitesController.java
-
│ │ └── resources
-
│ │ └── com //生成的mapper.xml(该目录中的内容可以删除)
-
│ │ └── gencode
-
│ │ └── generate
-
│ │ └── persistence
-
│ │ └── mapper
-
│ │ └── SitesMapper.xml
-
│ └── test
-
│ ├── java
-
│ │ └── com
-
│ │ └── codegen
-
│ │ ├── generator //根据Mybatis实现的代码和xml配置生成器
-
│ │ │ ├── CountByConditionElementGenerator.java
-
│ │ │ ├── CountByConditionMethodGenerator.java
-
│ │ │ ├── CustomizeJavaMapperGenerator.java
-
│ │ │ ├── CustomizeXMLMapperGenerator.java
-
│ │ │ ├── DeleteByConditionElementGenerator.java
-
│ │ │ ├── DeleteByConditionMethodGenerator.java
-
│ │ │ ├── SelectByPageElementGenerator.java
-
│ │ │ └── SelectByPageMethodGenerator.java
-
│ │ ├── main
-
│ │ │ └── CodeGeneratorMain.java //代码生成器的主类
-
│ │ ├── service
-
│ │ │ ├── CodeGeneratorConfig.java
-
│ │ │ ├── CodeGenerator.java
-
│ │ │ ├── CodeGeneratorManager.java
-
│ │ │ └── impl
-
│ │ │ ├── ControllerGenerator.java
-
│ │ │ ├── ModelAndMapperGenerator.java
-
│ │ │ └── ServiceGenerator.java
-
│ │ ├── test //单元测试存的目录(该目录可以删除)
-
│ │ │ ├── BaseTestCase.java
-
│ │ │ ├── controller
-
│ │ │ │ └── SitesControllerTest.java
-
│ │ │ └── mapper
-
│ │ │ └── SitesMapperTest.java
-
│ │ └── util //相关工具类的存放目录
-
│ │ ├── DataUtil.java
-
│ │ ├── FileUtil.java
-
│ │ ├── MethodUtil.java
-
│ │ └── StringUtils.java
-
│ └── resources
-
│ ├── config //用于单元测试的配置()
-
│ │ └── jdbc.properties
-
│ ├── generator //controller和service的模板所在目录
-
│ │ └── template
-
│ │ ├── controller.ftl
-
│ │ └── service.ftl
-
│ ├── generatorConfig.properties //生成器核心配置文件
-
│ └── spring //用于单元测试的配置
-
│ ├── applicationContext-db-normal-context-test.xml
-
│ └── spring-application-context-test.xml
使用説明書
実行
src/test/java
ディレクトリを入力して 、クラスがジェネレータであるスタートアップアイテムを
見つけますCodeGeneratorMain
。
直接Run As Java Application
実行するだけ です。
設定を変更する
src/test/resources
ディレクトリを入力し
、generatorConfig.properties
ファイルを見つけ、
対応するパラメータを変更して
から、特定の注釈情報について/src/test/java/com/codegen/service/CodeGeneratorConfig.java
カテゴリを参照してください 。
カスタムジェネレーター
ディレクトリsrc / test / java / com / codegen / generatorの下の関連する実装を参照してください
テンプレートスタイルの変更
必要なコントローラーとサービスのスタイルを生成する必要がある場合は
、src/test/resources/generator/template
ディレクトリを入力して
、対応するftlファイルを変更します。
データベーステーブル名のルール
テーブル名は、「table1」などの単一ワードのテーブル名、「my_table1」などのアンダースコアで区切られたテーブル名などはテストされません。