在Slick中,可以使用SimpleArray
类型来映射PostgreSQL的数组列到列表。SimpleArray
是Slick提供的一个类型,用于处理数组类型的列。
下面是一个示例,展示如何将PostgreSQL的数组列映射到列表:
case class MyTable(id: Int, arrayColumn: List[String])
import slick.jdbc.PostgresProfile.api._
class MyTableTable(tag: Tag) extends Table[MyTable](tag, "my_table") {
def id = column[Int]("id", O.PrimaryKey)
def arrayColumn = column[List[String]]("array_column")
def * = (id, arrayColumn) <> (MyTable.tupled, MyTable.unapply)
}
val myTableQuery = TableQuery[MyTableTable]
SimpleArray
类型将PostgreSQL的数组列映射到列表:import slick.jdbc.PostgresProfile.api._
implicit val listStringTypeMapper = new SimpleArrayJdbcType[String]("text").to(_.toList)
val db = Database.forConfig("myDatabaseConfig")
val query = myTableQuery.filter(_.id === 1).result
val result = db.run(query)
result.map { rows =>
rows.foreach { row =>
println(row.arrayColumn)
}
}
在上面的示例中,我们首先定义了一个SimpleArrayJdbcType[String]
,指定了数组元素的类型为text
。然后,我们使用SimpleArrayJdbcType
的to
方法将数组列映射为列表。最后,我们通过运行查询来获取结果,并将结果中的数组列打印出来。
领取专属 10元无门槛券
手把手带您无忧上云