ばらをのChangeLog

‹前の記事 | 次の記事›

2009-08-12

AirRecord [Flex]

airrecord - Project Hosting on Google Code
Adobe AIR向けのActiveRecordに基づいたO/Rマッピングライブラリ。とてもシンプルで使いやすい。

ADB開発中!Adobe Developer Box 開発日記 連載4) AIRによるActiveRecordの実装
使い方は上のページに書いてある通りだけどメモ(コピペ)っておく。


DB接続

var db:ARDatabase = ARDatabase.instance;
db.add(userID, password, dbName, ddl, name, path);
db.connect();


AIRのSQLiteを使う場合、userIDとpasswordはnullで良い。
ddl(Array)の各要素にSQL文を書いておくと、接続時にそれを実行してくれる。例えばCREATE TABLE文を書いておくと便利。

モデルクラス

public class Book extends ARModel
{
  public function Book()
  {
    super();
    this.__table = "books";
  }
}


テーブル名は複数形で、モデルクラス名は単数形。

INSERT

var book:Book = new Book();
var result:SQLResult = book.insert({name: "My Notebook"});
var id:Number = result.lastInsertRowID;



SELECT

var books = book.find(
  {id:1, name:"My Notebook"}, // WHERE
  "name ASC",                 // ORDER BY
  "10"                        // LIMIT
);
books[0].name;


一件だけ取得

book.findone({id:1}); // --> {id:1, name:"My Notebook"}


生SQL

book.query("SELECT * FROM books WHERE name LIKE 'My%'");



UPDATE

book.update(
  {id: 1},              // WHERE
  {name: "Sample Book"} // SET
);



DELETE

book.del({id: 1});