【问题标题】:How to insert case objects to mysql with alpakka slick connector如何使用 alpakka 光滑连接器将案例对象插入 mysql
【发布时间】:2018-05-12 05:06:18
【问题描述】:
【问题讨论】:
标签:
scala
akka
slick
alpakka
【解决方案1】:
使用“普通 SQL”的替代方法是使用“类型化”插入。这是一个使用Slick.sink 的示例,改编自SlickSpec:
case class User(id: Int, name: String)
class Users(tag: Tag) extends Table[(Int, String)](tag, "USERS") {
def id = column[Int]("ID")
def name = column[String]("NAME")
def * = (id, name)
}
val typedUsers = TableQuery[Users]
def insertUser(user: User): DBIO[Int] = typedUsers += user
val users = (1 to 40).map(i => User(i, s"Name$i")).toSet
Source(users)
.runWith(Slick.sink(parallelism = 4, insertUser))
上面的代码插入了 40 个用户(使用 User 案例类实例的集合),并行度设置为 4。