0
我是斯卡拉新手,並且已經學習浮油(3.1.1)。在寫入特定代碼以將數據插入到表中時,如果不存在,則必須插入一行,否則請更新該表中的特定列。對於單個行更新我寫了下面的代碼,它工作正常:插入使用浮油不起作用
def updateDate(id: Int, country : Country, lastDate: DateTime)(implicit ec: ExecutionContext) =
byPKC.applied((id, country,)).map(_.lastMessageDate).update(lastDate) flatMap {
case 0 ⇒
create(User.withLastDate(id, country, lastDate))
case x ⇒ DBIO.successful(x)
}
現在我不確定如何做一個批量操作中階此。我嘗試了以下方法,即使效率低下,也應該可以工作,但是沒有將行插入表中。
def updateDates(ids: Set[Int], country: Country, lastDate: DateTime)(implicit ec: ExecutionContext) = {
ids.foreach(e ⇒ updateDate(e, country, lastDate))
DBIO.successful(1)
}
如何在scala中進行批量寫入?另外,爲什麼這種批量操作不起作用?任何幫助將非常感激。