[特徴]
* ごく普通のSQL文が そのまま利用できます。
ターゲットRDB向けに準備されたSQL文が そのまま利用できます。当然のことですが、複数表を結合した検索が可能です。ある程度複雑なサブクエリやUNION付きSQL文なども、あたりまえのことですが、ごく当然のものとして利用できます。SQL文という観点では blancoDbは極めて自由度が高くなるよう設計されています。
* ごく普通にJDBC APIをラッピングしています。
ごく普通の JDBCプログラミング・ソースコードが自動生成されます。このため既存のJDBCノウハウおよびスキルが転用でき、学習コストがとても低くなっています。
* Excelブック形式のSQL定義書に SQL文とSQL文の付加情報を記載することにより入力メタ情報を設定します。
Excelおよびその互換ソフトを用いるだけで入力メタ情報を設定できます。XMLファイルは利用しますが、単に中間ファイルとしてのみ利用しています。
* よくありがちなJDBCプログラミングにおけるバグを予防するための仕組みをもっています。
o 一意制約違反は特別な例外として扱うことにより、一意制約違反の処理忘れバグを予防できます。
o 検索・実行結果が1件であるSQL文について、実行結果が1件でない場合には例外を発生させることよにり処理忘れバグを予防できます。
o ステートメントのクローズ忘れについて、これを検知して警告を出すことによりクローズ忘れバグを予防できます。
o SQLインジェクションを発生させにくい構造になっています。blancoDbを導入することは SQLインジェクションの予防および対策として非常に有効です。
* リレーショナルデータベースのカーソルが利用できます。
* (リレーショナルデータベースがサポートしていれば) FOR UPDATEを伴った行ロックを伴った検索および行の更新が可能です。
* 実行時に特別なクラスライブラリを必要としません。生成したソースコードだけで完結して動作します。またソースコード自動生成時に 解決可能なものは最大限解決を済ませます。このことにより実行時コストを極小化することが実現できます。
* 基幹系システム開発に対応しています。
基幹系システム開発における一般的な開発プロセスに沿った形で設計および実装されています。
[R/Oマッピング定義 2005.05.10版]
下記の仕様をR/Oマッピングと呼ぶことと定義します。また R/Oマッピングツールとは下記の仕様を満たすものを指します。
* リレーショナルデータベース指向である。
o リレーショナルデータベース上の型を、強制的に特定のオブジェクト型にマッピングする。
o リレーショナルデータベースのカーソルが利用できる。
o リレーショナルデータベースが持つ機能・性能を阻害しない。
* ANSI SQL (ごくあたりまえのSQL文) を利用する。
o 各種ロックが適切に利用できる。(行ロック、更新用の検索)
o NULL許容列を適切に扱うことができる。NULLはNULLとして入出力ができる。
* トランザクションが適切に扱える。
o トランザクションのコミットとロールバックを任意のタイミングで呼び出すことができる。
o トランザクション分離レベルを適切に扱うことができる。
* メモリ消費量が常識的であること。
o 処理件数が増えてもメモリ消費量が線形には増えないこと。
o StreamやReaderを適切に利用し、大きなデータや大量データを扱ってもメモリ上には展開しない。
* ストアドプロシージャ呼び出しに適切に対応する。
[ライセンス]
1.blancoDb Enterprise Edition は ライセンス として GNU Lesser General Public License を採用しています。
[依存するライブラリ]
blancoDb Enterprise Editionは下記のライブラリを利用しています。
※各オープンソース・プロダクトの提供者に感謝します。
1.JExcelApi - Java Excel API - A Java API to read, write and modify Excel spreadsheets http://jexcelapi.sourceforge.net/ http://sourceforge.net/projects/jexcelapi/ http://www.andykhan.com/jexcelapi/
概要: JavaからExcelブック形式を読み書きするためのライブラリです。
ライセンス: GNU Lesser General Public License
2.blancoCommons
概要: blanco Framework の構成要素のひとつ。共通ライブラリを担います。
ライセンス: GNU Lesser General Public License
3.blancoCodeGenerator
概要: ソースコード生成ライブラリ
ライセンス: GNU Lesser General Public License