Edited at

MikeshimuraのDBFlute Web Framework - ほぼ自動生成する業務用Framework

More than 3 years have passed since last update.

下記Wikiが本家です。

MikeshimuraのDBFlute Web Framework Wiki

DB変更に強い現場指向O/RマッパのDBFluteをベースに、データベースのテーブルを作成するだけで標準的な機能の画面(FrontendとBakcend共)を数分から数十分で、ほぼ自動生成する業務用Frameworkです。


例えば下記画面が、データベースのテーブルを作成後、自動生成機能を使う事により、Frontendは僅か9行の追加・修正、BackendはJavaであればRouter部分のコピペと9行の追加・修正、GoであればRouter部分のコピペと6追加・行の修正で出来ます。


特長


  • メニュー画面でログイン後、ボタン等で指定した画面がブラウザの新しいタブで開きます。


  • この為業務では複数画面を同時に参照しながら作業する場合が多いのですが、これが可能です。


  • メニュー画面でログオフすると、開いた子画面は自動的に閉じられます。


  • 勿論途中で不要になった画面はブラウザのタブを閉じる事が出来ます。


  • 自動生成されたFrontendとBackendは、若干の追加修正で通常の機能は果たせます。(普通僅か数分から数十分の作業)


  • Frongendは、JAVA版とGO版で共通です。


  • Backendは、JAVAとGOの両方が有ります。


  • データベースは、JAVA版ではPostgres, MySQL, SqlServer, Oracle等ほぼ主要なものを網羅しています。


    GO版はまだベータなので、今の所Postgres, MySQL, SqlServerをサポートしています。


  • JAVA版はJetty Embedded を想定していますが、他のTOMCAT等のWEBサーバーでも使用可能です。


  • GO版は GINを想定していますが、他のWEBサーバーでも使用可能です。



テーブル追加作業イメージ


Heroku Sampleシステム

HerokuにJAVAとGOのサンプルシステムを構築してありますので、見て下さい。


Herokuサンプルシステムの使い方


Eclipse環境の設定

Eclipse設定方法


Heroku SampleシステムのクローンとEclipseでの表示

サンプルシステムのDownlodと設定


Frontendプログラムの説明

Frontendは、ReactReact-BootstrapFluxxor, CoffeeScriptを使用しており、JAVA版・GO版のBackendに対して共通です。

Frontendの説明


Backendプログラムの説明

Backendは、JAVA版とGO版の2種類ありますが、機能は同じになる様にしています。

なお論理削除機能については、論理削除機能の説明参照。

Java版の説明

Java版は、DBFlute, Guice, Resteasyを使用しています。

Go版の説明

Go版は、Go-DBFlute, GINを使用しています。


Frontendプログラムの自動生成

Frontendプログラムの自動生成


Backendプログラムの自動生成

Javaの自動生成


Goの自動生成