gpt4 book ai didi

scala - 使用Scala中的Slick库获取自动增量值

转载 作者:行者123 更新时间:2023-12-03 14:05:01 25 4
gpt4 key购买 nike

如何获取使用Slick插入的记录的自动增量值?以下代码将打印1111。我希望它能打印1234

import scala.slick.driver.H2Driver.simple._

object TestMappedTable extends App{
case class User(id: Option[Int], first: String, last: String)

object Users extends Table[User]("users") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def first = column[String]("first")
def last = column[String]("last")
def * = id.? ~ first ~ last <> (User, User.unapply _)
}

implicit val session = Database.forURL("jdbc:h2:mem:test1", driver = "org.h2.Driver").createSession()
session.withTransaction{
Users.ddl.create

print(Users.insert(User(None, "Jack", "Green" )))
print(Users.insert(User(None, "Joe", "Blue" )))
print(Users.insert(User(None, "John", "Purple" )))
print(Users.insert(User(None, "Jim", "Yellow" )))
}
}


我正在将Slick 0.11.2用于Scala 2.10.0-RC1

最佳答案

您可以像这样检索生成的值。

autoInc方法添加到Users对象。


def autoInc = ID。 〜第一个〜最后一个<>(User,User.unapply _)返回ID


请改用Users.autoInc.insert


打印(Users.autoInc.insert(User(None,“ Jack”,“ Green”)))


也可以看看:

https://github.com/slick/slick/issues/10

https://github.com/slick/slick/commit/09a65a8e88a0363412e218dc5c06023b69809649

关于scala - 使用Scala中的Slick库获取自动增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13114255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com