AlierDB

概要


AlierDB は単一のデータベースに対する操作を集約したクラスです。

コンストラクタ


構文

new AlierDB({ database, version })
new AlierDB({ database, version, autoConnect })
new AlierDB({ database, databaseType, connectorOptions })
new AlierDB({ database, databaseType, connectorOptions, autoConnect })
new AlierDB({ connector })
new AlierDB({ connector, autoConnect })

引数

単一の、以下のプロパティを持つオブジェクトを引数に取ります。

  • database: string (省略可)

    データベース名です。

    connector を指定する場合、この引数は無視されます。

    databaseType, vertion を指定する場合、この引数は必須です。

  • databaseType: string (省略可)

    データベースの種別を表す文字列です。

    connector を指定する場合、この引数は無視されます。

    モバイル版ではこの値は使用されません。

    Node.js版では、database を指定する場合、この引数は必須です。

  • version: number (省略可)

    データベースのバージョンを表す正の整数です(version >= 1)。

    connector を指定する場合、この引数は無視されます。

    モバイル版では、database を指定する場合、この引数は必須です。

  • connectorOptions: object (省略可)

    DBConnector 向けのコンストラクタ引数のオプションです。

    connector を指定する場合、この引数は無視されます。

    database, databaseType, version が connectorOptions のプロパティとして設定されている場合、それらは無視されます。

  • connector: DBConnector (省略可)

    データベース操作を実装した DBConnector 派生クラスのインスタンスです。

    database, databaseType, version を指定しない場合、この引数は必須です。

  • autoConnect: boolean (省略可)

    データベース操作に伴い、自動的にデータベースへ接続を試みるかどうかです。 true なら自動接続が有効になり、false なら無効になります。

    このプロパティの指定は任意です。指定がない場合、自動接続は有効(true)となります。

例外

  • TypeError

    • 引数 connector が与えられなかったか、DBConnector のインスタンスでなかった場合

    • connector の指定がなく、database が指定されていなかった場合

    • connector の指定がなく、version が正の整数でなかった場合

      この例外はモバイル版でのみ発生します。

  • DBError

    • connector の指定がなく、引数 databaseType に対応する DBConnector が registerDefaultConnector() で登録されていなかった場合

      この例外は Node.js 版でのみ発生します。

解説

AlierDB インスタンスを生成します。

引数のプロパティ database, databaseType, version などを指定する場合、AlierDB の生成に伴って、DBConnector のインスタンスを新たに生成して利用します。

引数のプロパティ connector を指定する場合、connector として与えられた DBConnector のインスタンスを利用します。

メソッド


asIdentifier()

  • 文字列をデータベースで使用する識別子として変換します。

asString()

  • 文字列をデータベースで使用する文字列リテラルに変換します。

asValue()

  • データをデータベースで使用する値リテラルに変換します。

connect()

  • データベースへ接続します。

createDatabase()

  • 与えられたデータベース定義からデータベースを作成します。

delete()

  • 対象のデータベースから、指定したテーブルを削除します。

disconnect()

  • データベースとの接続を切断します。

execPreparedStatement()

execSQL()

  • 対象のデータベースに対して、指定されたSQL文を実行します。

get()

registerPreparedStatement()

  • 対象の AlierDB インスタンスに、指定した名前で PreparedStatement を登録します。

removePreparedStatement()

  • 対象の AlierDB インスタンスから、登録済みの PreparedStatement を削除します。

プロパティ


connector

内部で使用する DBConnector です。

これはコンストラクタの引数として与えられます。

型

DBConnector

autoConnect

自動でデータベースへ接続するかどうかを表す boolean です。 true なら自動で接続し、false なら接続を試みません。

このプロパティは AlierDBTable.autoConnect から参照されます。 AlierDBTable からデータベース操作を行う際、autoConnect が true なら自動的に connect() を呼び出します。

これはコンストラクタの引数として与えられます。

型

boolean

schema

データベースの定義を表すオブジェクト、またはそれを与える Promise です。

schema プロパティの値が Promise の場合、schema プロパティを参照するメソッドは、その履行を待ち合わせます。

これはcreateDatabase()の呼び出しに際し初期化されます。

型

object | Promise<object>