小编Dan*_*her的帖子

在Slick表上列出列

我有一个类似于以下内容的Slick 3.0表定义:

case class Simple(a: String, b: Int, c: Option[String])

trait Tables { this: JdbcDriver =>
  import api._

  class Simples(tag: Tag) extends Table[Simple](tag, "simples") {
    def a = column[String]("a")
    def b = column[Int]("b")
    def c = column[Option[String]]("c")

    def * = (a, b, c) <> (Simple.tupled, Simple.unapply)
  }

  lazy val simples = TableQuery[Simples]

} 

object DB extends Tables with MyJdbcDriver
Run Code Online (Sandbox Code Playgroud)

我希望能做两件事:

  1. 获取列名称列表 Seq[String]
  2. 对于一个实例Simple,生成一个 Seq[String]与使用原始查询将数据插入数据库的方式相对应(例如,Simple("hello", 1, None)变为Seq("'hello'", "1", "NULL"))

使用Slick表定义执行此操作的最佳方法是什么?

scala slick

9
推荐指数
1
解决办法
2199
查看次数

为什么scala不推断继承特征的类型成员?

我有一组类型,每个类型都有自己的类型成员:

sealed trait FieldType {
    type Data
    def parse(in: String): Option[Data]
}
object Name extends FieldType { 
    type Data = String 
    def parse(in: String) = Some(in)
}
object Age extends FieldType { 
    type Data = Int 
    def parse(in: String) = try { Some(in.toInt) } catch { case _ => None }
}
Run Code Online (Sandbox Code Playgroud)

我有一组在FieldTypes的集合上运行的类型(使用样板而不是抽象的arity):

sealed trait Schema {
    type Schema <: Product
    type Data <: Product
    val schema: Schema
    def read(in: Seq[String]): Option[Data]
}
trait Schema1 extends Schema { …
Run Code Online (Sandbox Code Playgroud)

scala scala-2.10

3
推荐指数
1
解决办法
195
查看次数

标签 统计

scala ×2

scala-2.10 ×1

slick ×1