DBConnector
概要
DBConnector
クラスはデータベース操作のためのインタフェースを定義するクラスです。
DBConnector
クラスは AlierDB
および AlierTable
クラスと、アプリケーションが接続するデータベースのクライアントを仲介する役割を担います。
Alierフレームワークでは DBConnector
の派生クラスをいくつか用意しています。
そのためアプリケーション開発者は、DBConnector
の派生クラスを実装せず AlierDB
などのクラスを利用してデータベースを操作することができます。
しかし、Alierフレームワークが対応していないデータベース管理システムや、フレームワークが提供する DBConnector
派生クラスの挙動を変えたい場合、アプリケーション開発者は独自に DBConnector
の派生クラスを実装することができます。
コンストラクタ
info
- 他のメソッドと異なり、コンストラクタのみ基底の実装を持ちます。
構文
new DBConnnector({ database })
引数
単一の、以下のプロパティを持つオブジェクトです。
以下のプロパティの他に、DBConnector
派生クラスは独自のプロパティを要求します。
-
database
:string
データベース名です。
例外
TypeError
- 引数のオブジェクトのプロパティ
database
に文字列が指定されていない場合
- 引数のオブジェクトのプロパティ
解説
DBConnector
のインスタンスを生成します。
note
- データベースへの接続やコネクションプールなどの初期化処理は派生クラスのコンストラクタ内で実装する必要があります。
またデータベース接続のための初期化処理に初期化処理が含まれる場合、
connect()
の実行時にそれらが解決されるように初期化処理を遅延する必要があります。
メソッド
compile()
- SQL文をコンパイルし、コンパイルされたSQL文の識別子を取得します。
end()
- 使用しているすべてのクライアントとコネクションプールを解放します。
execute()
- SQL文を実行します。
executePreparedStatement()
- コンパイルされたSQL文を実行します。
releasePreparedStatement()
- コンパイルされたSQL文を解放します。
connect()
- データベースへ接続します。
disconnect()
- データベースとの接続を切断します。
createTable()
- 指定されたテーブル定義情報からテーブルを作成します。
dropTable()
- 指定されたテーブルを削除します。
getSchema()
- データベースの定義情報を取得します。
fixPreparedStatementQuery()
- 与えられた SQL 文に含まれるプレースホルダーを、データベースが解釈できる形式に変換します。
asIdentifier()
- 文字列をデータベースで使用する識別子として変換します。
asString()
- 文字列をデータベースで使用する文字列リテラルに変換します。
asValue()
- データをデータベースで使用する値リテラルに変換します。
プロパティ
database
データベースの名前です。
型
string
schema
データベースの定義情報を表すオブジェクトです。
getSchema()
が実装された派生クラスにおいて、取得結果のキャッシュとして利用できます。
型
object
| Promise<object>
| null