Slick 3.0 bulk insert or update (upsert)

后端 未结 3 1371
慢半拍i
慢半拍i 2020-12-14 06:52

what is the correct way to do a bulk insertOrUpdate in Slick 3.0?

I am using MySQL where the appropriate query would be

INSERT INTO table (a,b,c) VAL         


        
3条回答
  •  Happy的楠姐
    2020-12-14 07:19

    As you can see at Slick examples, you can use ++= function to insert using JDBC batch insert feature. Per instance:

    val foos = TableQuery[FooTable]
    val rows: Seq[Foo] = ...
    foos ++= rows // here slick will use batch insert
    

    You can also "size" you batch by "grouping" the rows sequence:

    val batchSize = 1000
    rows.grouped(batchSize).foreach { group => foos ++= group }
    

提交回复
热议问题