ディベロッパーのためのチュートリアル
ディベロッパーに必要な情報のまとめページです。(ここでは既に自動生成が終わってること前提です)
ディベロッパーの実装スタイル
二つのやり方
- よくあるSQL
- ConditionBean *タイプセーフ&目的指向
- ちょいムズSQL
- 外だしSQL(OutsideSql) *2Way-SQL
三つのクラス
- Entity
- データ(レコード)を格納
- Behavior
- DBアクセスの入り口 (DIコンポーネント)
- ConditionBean
- 検索条件の組み立て
二つの支援タスク
- ReplaceSchema
- 初めての環境構築時やDB変更時に実行 (DB環境構築の自動化)
- Sql2Entity
- 外だしSQL(OutsideSql)を書いたら実行 (Entityの自動生成)
ひとめシリーズ
- ひとめでdbflute
- dbfluteタスクやConditionBean, 外だしSQLなどのリファレンス
- ひとめでConditionBean
- ひたすらConditionBeanのExample実装だらけ
Java8 とか Scala です
- dbflute on Java8
- Java8版 (dbflute-1.1.x) の話が満載
- dbflute on Scala
- まだパイロット実装...ですが、動きます
ディベロッパーの十か条
dbfluteを使った開発における十か条です。 (もし、この十か条が機能しないのであれば、dbfluteの設定や前提条件などが足りてない可能性がありますので、アーキテクトに相談すると良いでしょう)
- 検索 (select)
- 集計系以外のほとんどの検索は ConditionBean で実装する(できる)
- ConditionBeanで迷ったら
- ConditionBeanトップページ(ブックマークすべし)から目的ドリブンで探す
- ConditionBeanの手つき
- コード補完やショートカットを利用して文字をあまり打たずに書く
- 共通カラム
- 自動で値が設定されるので、自分で設定する必要なし
- 区分値
- 自動生成される区分値の設定・判定メソッドを利用する
- 業務的one-to-one
- 自動生成される固定条件が解決されたメソッドを利用する
- 排他制御
- 更新処理に組み込まれているので、それを利用する
- 外だしSQL
- SQLに対応するEntity(結果受け取りDTO)は自動生成する
- DB環境構築
- バッチ一発叩くだけで、テーブル作成してテストデータ登録する
- テーブル定義
- 自動生成されるテーブル定義HTML(ブックマークすべし)で、DB定義を見る
- EntityとDTOとの詰め替え
- リフレクション(Beanなんとかなど)は使わず、地道にget/setすべし
ディベロッパーのFAQ
ConditionBeanの機能を探したいときはどうする?
補足資料
- アーキテクトのためのチュートリアル
- アーキテクトとして dbflute に関わるなら...そもそも、dbfluteの環境構築がこれからなら...
- dbflute Example
- 基本的なことを覚えるのにも応用的なことを覚えるのにも最適なのは Example 実装です。
- MaihamaDB
- dbfluteの(いたる所の)説明において MaihamaDB (Exampleのスキーマ) が利用されます。 基本構造を把握しておくと、ドキュメント上のサンプルコードの理解が早くなるでしょう。
- jfluteの日記 (はてなダイアリー)
- 作者のブログ jfluteの日記 にdbfluteの情報が更新されます。 実装上の細かいネタもあるので、時々チェックしてみると理解が深まるかもしれません。
- わからなければ聞いてみる!?
- わからなければ jflute に気軽に聞いてみましょう!それが dbflute へのフィードバックにもなります。 dbfluteユーザが集う、メーリングリストもあります。気軽に投稿してくださいね。