Locked History Actions

Butterfly_Persistence/IObjectDao

IObjectDaoの使い方

Butterfly Persistenceのドキュメントより

基本的な使い方

一つのオブジェクトの内容をレコードとして挿入する。

Person person = new Person();
person.setName("Joe Blocks");
daos.getObjectDao().insert(person);

複数のオブジェクトの内容をレコードとして挿入する。

List persons = new ArrayList();
persons.add(person1);
persons.add(person2);
...
daos.getObjectDao().insertBatch(persons);

ただ一つのレコードをオブジェクトとして取得する

String sql = "select * from persons where id=?"
Person person = (Person) daos.getObjectDao().read(Person.class, sql, 22);

複数のレコードを一度に取得する

String sql = "select * from persons where birth_year > ?"
List persons = daos.getObjectDao().readList(Person.class, sql, 1975);

レコードの更新

daos.getObjectDao().update(person);

複数の場合は

String sql = "select * from persons";
List persons = daos.getObjectDao().readList(Person.class, sql);
//change persons in list
daos.getObjectDao().updateBatch(persons);

レコードの削除

daos.getObjectDao().delete(person);

複数の場合は

String sql = "select * from persons";
List persons = daos.getObjectDao().readList(Person.class, sql);
daos.getObjectDao().deleteBatch(persons);

フィールドの一部の読み書き

一部フィールドの読込み

読込み時のSQL指定を「select * from ~」ではなく、「select name from ~」などとすることにより、すべてのフィールドではなく一部のフィールドのみを読み込む。 当然のことながら、返されるオブジェクトには、読み込んだフィールド以外の値は格納されない。

一部フィールドの書き込み

カスタムマッパというものを作成しなくてはならず、少々ややこしい。