2011-11-08 47 views

回答

4

據我所知,不幸的是,爲了執行批量更新(基於一些標準),我們只能使用sql查詢。沒有類似bulkDelete_的方法!!可用於批量更新。

例如:

def updateNameById (newName : String, id : Long) = { 
    val updateString = "update MyModel set name = ? where id = ?"  
    DB.use(DefaultConnectionIdentifier) { conn => 
     DB.prepareStatement(updateString, conn) { stmt => 
       stmt.setString(1, newName) 
       stmt.setLong(2, id) 
       stmt.executeUpdate() 
     } 
    } 
} 
1

不,沒有在Mapper中的bulkUpdate,你將不得不做一個findAll,編輯記錄,然後對它們做一個.save。

+0

但將兩次查詢數據庫,不是嗎? (一次查找所有並且一次保存) – vkantiya

+0

這是正確的。爲了避免這種情況,你將不得不使用自定義sql,如@vkantiya寫道 – fmpwizard

相關問題