Scala意为代字号
发布时间:2020-12-16 10:04:40 所属栏目:安全 来源:网络整理
导读:嗨,我是新的 Scala,并有以下示例的问题: import scala.slick.driver.MySQLDriver.simple._ case class Customer(id: Option[Long],firstName: String,lastName: String,birthday: Option[java.util.Date])/** * Mapped customers table object. */object Cu
嗨,我是新的
Scala,并有以下示例的问题:
import scala.slick.driver.MySQLDriver.simple._ case class Customer(id: Option[Long],firstName: String,lastName: String,birthday: Option[java.util.Date]) /** * Mapped customers table object. */ object Customers extends Table[Customer]("customers") { def id = column[Long]("id",O.PrimaryKey,O.AutoInc) def firstName = column[String]("first_name") def lastName = column[String]("last_name") def birthday = column[java.util.Date]("birthday",O.Nullable) def * = id.? ~ firstName ~ lastName ~ birthday.? <>(Customer,Customer.unapply _) implicit val dateTypeMapper = MappedTypeMapper.base[java.util.Date,java.sql.Date]( { ud => new java.sql.Date(ud.getTime) },{ sd => new java.util.Date(sd.getTime) }) val findById = for { id <- Parameters[Long] c <- this if c.id is id } yield c } line的含义是什么: def * = id.? ~ firstName ~ lastName ~ birthday.? <>(Customer,Customer.unapply _) 如何解读波浪标志和问号? 解决方法
您正在查看Slick Table定义,该定义遵循使用名为*的方法定义
Table的默认投影的Slick 1.0版本. ?s加入
Column以构成一种投影构建器模式中返回的默认视图. ?s表示哪些字段代表Customer类中的Option值和<>是
Projection特征中的方法名称.你可以想到<>用于在这里为客户拿出东西或将东西放入数据库.如果您的某些内容映射不正确,例如,如果该表没有隐式dateTypeMapper,则<>函数是您手动调整进入和退出Customer案例类以进行日期转换的值的位置.
老实说,找出这些方法的来源在IDE中更容易,因为文档没有描述类的细节,并且Slick scaladocs中有很多类. 这是1.0.1 Lifted Embedded文档的链接. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |