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