blanco Framework is code generation framework for Java. It include R/O mapping tool 'blancoDb', SQL editor plug-in 'BlancoSqlEditorPlugin'.
blancoIBatis は Apache iBatis の sqlMap.xml ファイルを入力して、Javaソースコードを自動生成します。
最初の機能として、sqlMap.xml から、検索結果の行をあらわすバリューオブジェクトの Javaソースコードを自動生成します。
※Apache Antタスクのみの提供です。
[ステータス]
1.blancoIBatis : 開発版
[説明]
・Apache iBaits を利用していて、検索結果のバリューオブジェクトを自前で準備することに不満を感じたことはありませんか?
その疑問はとても正しいものです。
・そして、blancoIBatis を利用すると、そういったバリューオブジェクトは sqlMap.xml ファイルに記述された SQL文から自動生成することができます。
技術的には、SQL文の実行結果から得られる情報によって、フィールド名および型名を解決して実現しています。
・ご存知かも知れませんが、Apache iBatis のサブプロダクトとして Apache IBATOR という自動生成系があります。
ところが残念なことに IBATOR は DBスキーマからの自動生成をサポートするプロダクトです。
sqlMap.xml ファイルにかかれた SQL文から自動生成をおこなうものではありません。
一方で iBatis の利用者の多くは、DBスキーマから自動生成された SQL文で目的のプログラムを実現することができる場合は少ないようです。
SQLを自前で手書きする必要があるからこそ iBatis を採用していることが多いからです。
・手書きで SQLを書かなくてはならない、そういった人たち向けの Javaソースコード自動生成を実現するのが blancoIBatis なのです。
[利用上の注意]
・sqlMap 上に記載された検索結果を格納するクラス(resultClass)そのものが存在しないとsqlMap ファイルの妥当性チェックで失敗となり自動生成にも失敗します。
※内容は実際の検索結果とは異なっても差し支えありません。
これを回避するために、何らかのダミークラスを準備して設定して、このエラーを回避してください。
ダミーのクラスの記述例は以下のようになります。(java.lang.Object という、全くのダミークラスを検索結果に設定している例)
<select id="getAccountByUsername" resultClass="java.lang.Object" ...>
SELECT ...
・iBatis の動的SQLパラメータを含む sqlMap (XML) ファイルは処理できません。
これは、iBatis の内部的な仕様の都合に起因するものです。
どうしても動的SQLパラメータを含む sqlMap を処理させたい場合には、ソースコード自動生成時に一時的に 動的SQLパラメータ関連記述部分をコメントアウトなどして動作させてください。
これは、具体的には <dynamic prepend="WHERE"> ... like #keywordList[]# OR ... のような箇所が該当します。
・より完全な自動生成を求める方には、blancoDb の利用を強く推奨します。残念ながら、blancoIBatis は不完全な自動生成系にあたります。
[開発者]
1.伊賀敏樹 (IGA Tosiki / いがぴょん): 開発および維持メンテ担当
2.山本耕司 (ymoto) : 開発、レビュー、試験実施、リリース判定。
[ライセンス]
1.blancoIBatis は ライセンス として Eclipse Public License 1.0 と GNU Lesser General Public License と Apache License をトリプルライセンスとして採用しています。
[JDK]
コンパイルおよび実行には、JDK 1.5 以降が必要です。
[依存するライブラリ]
コンパイル及び実行には下記のライブラリを必要とします。
クラスパスに含めるようにしてください。
1.その他の blanco Framework
概要: このプロダクトは 実行時に blanco Framework各種プロダクトに依存して動作します。
ライセンス: GNU Lesser General Public License
2.Apache iBatis
ライセンス: Apache ライセンス。
2008.12.11 (0.0.3)
生成される JavaDocコメントを少し改善。
2008.12.10 (0.0.2)
自動生成されるコメントを少し改善。
TODO DB上の型について、ひととおりの試験実施。
TODO BLOB, CLOB には未対応。
2008.12.09 (0.0.1)
新規作成。