Haxeでデータベースにアクセスしてみる初めの一歩です。
Haxeにはsys.db.*
というモジュール下にデータベースに接続・操作するためのクラスが配置されています。
dbモジュールは、python, neko, java, macro, cpp, lua, phpで利用できるとドキュメントに記載されています。
macroで利用出来るなんて面白そうですね!
この投稿ではHaxeでDBアクセス事始めということで簡単なデータベース操作をするコードを見てみます。
class Main {
static function main() {
#if php
// DBとのコネクションを確立します
var con = Sqlite.open("sample.db");
// トランザクションの開始
con.startTransaction();
try {
// テーブルを作成して、データを登録します
con.request("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT);");
con.request("INSERT OR IGNORE INTO users (id, name) VALUES (1, '太郎'), (2, '次郎'), (3, '三郎');");
con.commit();
// 登録したデータを取得します
var resultSet = con.request("SELECT * FROM users;");
trace(resultSet.results());
} catch(e: Dynamic) {
// 例外がスローされたらロールバック
trace(e);
con.rollback();
}
con.close();
#end
}
}
これがDBアクセスの一連の流れになるコードです。
どの言語を利用しても、このあたりのコードはだいたい同じですね。
実際には、このような操作をより抽象化したクラスが用意されているのでそちらを利用することになると思います。