同期的なDB操作
DB への接続、クエリの実行と結果取得、プリペアード文、トランザクション、文字列エスケープといった、DB の基本的な操作を提供している。
API は以下のクラス群から構成される。全て名前空間は nine::dbi:: 以下である。
- Driver
- Driver は、各DBMSのエントリポイントである。接続に依存しない共通機能や、Connection 生成機能を持つ。
- Connection
- Connection オブジェクトは、DBとの接続と一対一に対応する。各 Statement の生成機能を持つ。
- Statement
- Statement は単純な一文を表す。SQL文を実行する機能を持つ。
- PreparedStatement
- PreparedStatement は、いわゆるプリペアード文を実現する。
- EscapeStatement
- EscapeStatement は、エスケープ関数を用いて PreparedStatement と同形式のテンプレート文を実行する。
- ResultSet
- ResultSet は DB操作の結果を保持するクラスである。
以上全ては SharedPtr なので、ユーザーは DBI オブジェクトをやり取りする際に、オーナーシップを管理する必要はない。
例えば、ResultSet は次のように定義されている:
class IResultSet: public Sharable
{
...
};
typedef SharedPtr< IResultSet > ResultSet;