目次
ORMLiteって?
Androidアプリに最適な軽量ORMライブラリ。ORM(Object Relational Mapping)ってのは、クラスのプロパティやフィールドとデータベーステーブルレコードの列を関連付けて、CRUD(Create Read Update Delete)を簡単に使えるようにする仕組み。
Javaでよく使われるのはHibernate+JPA(Java Persistance API)かな?
ORMLiteの公式ページはここ
http://ormlite.com/
まぁ普通にJavaアプリケーションでも使えるんだけど、Android用もあるってことで早速使ってみた。
ORMLite for Android
ちょこっと昔、ブログに書いてたことがあるw
使い方はこれだけ。
- プロジェクトにライブラリを組み込む
- Android用リソースをプログラムで生成する
- モデルクラスを作成する
- DatabaseHelperをExtenedして作成する
このDatabaseHelperが優れもので、DAO(Database Access Object)のひな型を自動生成できる。
なので、次の機能だけのDAOであればコードを書く必要が無いw なのでテストコードも要らないw
- FindAll()
- FindById()
- DeleteById()
- Update(モデルクラス)
- create(モデルクラス)
そして、便利なQueryBuidlerを持っている。
- And
- Or
- Between
- Like
- In
- NotIn
- Exists
- eq,ge,le,gt,lt
InnerJoin、LeftJoin、groupby、having、もある。
これらを組み合わせて必要なWhereクラスを生成してquery()すれば欲しい結果が取得できる。
SQLの基本的な知識が必要だけれど、知っている人間ならもっと便利な使い方が出来るだろうね。
知らなくても、基本的な動作は既存の自動生成DAOでまかなえるので使えると思うし。
サンプルコード
Mavenプロジェクトにしていると組込みが楽なので、サンプルコードに追加しといた。
プロジェクトへの組込み。
Android用リソースを生成。
主人公となるモデルクラス。
DatabaseHelperの作成。
DAOの作成。