Skip to content
y-yoshinoya edited this page Apr 15, 2012 · 25 revisions

モデル定義方法

com.github.aselab.activerecord.ActiveRecord を継承したケースクラスと, そのモデル型をパラメータに取る com.github.aselab.activerecord.ActiveRecordCompanion[T] 型の コンパニオンオブジェクトを定義します.

package models

import com.github.aselab.activerecord._

case class User(name: String, age: Int) extends ActiveRecord

object User extends ActiveRecordCompanion[User]

基本的なCRUD操作について

上記の User モデルを使用して, 基本的なCRUD操作を行う例を示します.

Create

User("you", 15).save

Read

User.findBy("name", "you").head                      // => User("you", 15)
User.findBy("name", "you").headOption                // => Some(User("you", 15))
User.findBy("name", "me").headOption                 // => None
User.findBy("age", 15).toList                        // => List(User("you", 15))
User.findBy(("name", "you"), ("age", 15)).headOption // => Some(User("you", 15))
User.where(_.age gte 10).toList                      // => List(User("you", 15))
User.all.toList                                      // => List(User("you", 15))

Update

val user = User.findBy("name", "you").head
user.name = "new_user"
user.age = 21
user.save

Delete

// Delete single user
val user = User.all.head
user.delete

// Delete all users
User.deleteAll

Transaction (Squeryl)

pending

Methods

pending

Clone this wiki locally