为什么它使用光滑和playframework返回0记录

时间:2017-02-14 10:23:11

标签: playframework playframework-2.0 playframework-2.2 playframework-2.3 slick-2.0

数据库中有一个users表。但是,当我在playframework中使用以下scala代码时,它会返回0条记录。

case class User(id: Option[Int], username: String, email: String,
password: String, role: String)

class Users(tag: Tag) extends Table[User](tag, "users") {
  def id = column[Int]("id", O.PrimaryKey, O.AutoInc, O.NotNull)
  def username = column[String]("username", O.NotNull)
  def email = column[String]("email", O.NotNull)
  def password = column[String]("password", O.NotNull)
  def role = column[String]("role", O.NotNull)
  def * = (id.?, username, email, password, role) <> (User.tupled, User.unapply _)
}

object Users {
  val users = TableQuery[Users]

  def findByUsernameAndPassword(username: String, encryptedPassword: String)(implicit session: Session): Option[User] = {
      users.where(_.username === "user1@localhost").firstOption
}

代码生成的SQL语句如下:

select x2."id", x2."username", x2."email", x2."password", x2."role" from "users" x2 where x2."username" = 'user1@localhost'

当我直接在数据库中运行sql时,它会正确返回用户记录。

0 个答案:

没有答案