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 ~」などとすることにより、すべてのフィールドではなく一部のフィールドのみを読み込む。 当然のことながら、返されるオブジェクトには、読み込んだフィールド以外の値は格納されない。
一部フィールドの書き込み
カスタムマッパというものを作成しなくてはならず、少々ややこしい。