簡體   English   中英

Scala Phantom Cassandra有條件插入?

[英]Scala Phantom Cassandra Conditional insert?

我正在使用Phantom庫將Scala代碼中的行插入Cassandra。

因此,基本上,我創建了一個擴展CassandraTable的類,然后從幻影庫中獲取所有的create,update方法。

我想知道的一件事是它如何生成其INSERT語句。 它是否生成條件更新語句(如INSERT IF NOT EXISTS)的原始INSERT語句。

只需記錄查詢,響應就會很明顯。 默認情況下, insert查詢不包含ifNotExists 從Phantom 2.5.0開始,表格會自動生成一個store方法,因此您可以調用:

database.table.store(record).ifNotExists.future()

在幻影2.5.0之前:

def store(record: Record): InsertQuery.Default[Table, Record] = {
  insert.value(_.column1, record.value1)
    .value(_.column2, record.value2)
    ...
    .ifNotExists()
}

附帶說明一下,幻象中的所有查詢都具有一個.qb.queryString訪問器,因此在內部查找非常簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM