Slick 2.0.0-M3表定义 - 标记属性的说明

 大眼妹PS珺珺 发布于 2023-02-10 12:16

我正在努力迁移到光滑的2但是我遇到了一个我似乎无法在任何地方找到的课程.

package learningSlick

import scala.slick.driver.MySQLDriver.simple._

case class Supplier( snum: String, sname: String, status: Int, city: String )

class Suppliers(tag: Option[String]) extends Table[Supplier](tag, "suppliers") {
  def snum  = column[String]("snum")
  def sname = column[String]("sname")
  def status   = column[Int]("status")
  def city     = column[String]("city")
  def * = snum ~ sname ~ status ~ city <> (Supplier, Supplier.unapply _)
}

以下是教程中的代码:

import scala.slick.driver.PostgresDriver.simple._

class Suppliers(tag: Tag) extends Table[(String, String, Int, String)](tag, "suppliers") {
    def    snum = column[String]("snum")
    def sname = column[String]("sname")
    def status = column[Int]("status")
    def city = column[String]("city")
    def * = (snum, sname, status, city) 
}

在Table的定义中,它表示Tag的类型为Option [String],但是在我正在阅读的教程中,它只使用了一种Tag.我正在寻找这个来自哪个包.

1 个回答
  • 检查表的定义,我们可以看到它的类型Tag:表定义不知道你在哪里读或发现它是类型Option[String].

    单击Tag将显示标记定义:标记定义

    所以要回答你的问题,它来自scala.slick.lifted包裹.

    您不需要实际创建一个Tag,因为您使用val suppliers = TableQuery[Suppliers]构造进行查询,该构造负责处理所有Tag相关内容.

    2023-02-10 12:19 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有