首页 文章
  • 0 votes
     answers
     views

    如何在Slick中将空值映射到Seq.empty

    我通过将它们与分隔符连接,将值列表编码到单个数据库列 . 这工作正常,除非列表为空 . 在这种情况下,数据库列用空字符串填充,当映射回来时,这给了我一个Seq(“”)而不是Seq.empty . implicit val SeqUriColumnType = MappedColumnType.base[Seq[Uri], String]( p => p.map(_.toString).m...
  • 0 votes
     answers
     views

    如何将Slick依赖与Lagom绑定?

    所以,我有这个依赖项,用于创建表并与 Postgres 交互 . 这是一个示例类: class ConfigTable { this: DBFactory => import driver.api._ implicit val configKeyMapper = MappedColumnType.base[ConfigKey, String](e => e.toStr...
  • 0 votes
     answers
     views

    在Scala Slick中实现类实例的成员修改的最佳方法?

    我正试图在现实生活中使用Slick的嵌入式嵌入方法(体育俱乐部成员的个人数据自我管理) . 我已经设法从数据库中检索信息并更新记录(实现Member作为案例类并使用案例类复制方法,如下所示)但我很难找到实现成员修改的最佳方法 . 自然的方式 . 我已经考虑了两种可能性:1)维护类实例的不变性并实现一般的setter(参见代码)2)使构造函数参数“var”(什么会抑制不变性,因此不理想) 坚持使用选...
  • 8 votes
     answers
     views

    光滑的动态更新字段

    我从一个 Play 控制器得到一个表格 class CustomerTable(tag: Tag) extends Table[Customer]("customer", tag) { def id = column[Long]("id") ... def * = ... } case class Customer( id: Lon...
  • 0 votes
     answers
     views

    Slick:更新SQLServer / jtds上的字段

    我正在尝试使用Slick 2.0更新字段并通过jtds驱动程序连接到SQL Server 表: object UtilisateurSchema { class UtilisateurId(val value: Long) extends MappedTo[Long] case class Utilisateur(id: Option[UtilisateurId], nom: ...
  • 0 votes
     answers
     views

    根据其上下文轻松更新字段

    我是Slick和scala的新手,我有以下问题 . 我想找到基于相同时间戳的数据库中是否有记录 . 我的表有(id,时间戳,步骤,位置,方向) 1.measurements.filter(_ . timestamp === operated_item.timestamp)//其中测量是我的TableQuery 如果记录不存在我想根据光滑的文档制作一个创建者 如果记录存在则: 一个 . ...
  • 1 votes
     answers
     views

    光滑更新可选字段

    我正面临一个非常烦人的问题,光滑的3.0.x: 我们考虑一下: case class DbUser(id: Int, username: String, phoneNumber: Option[String], email: Option[String]) val user = DbUser(1, "User", None) 如果我跑: users.filter(_.id ...
  • 1 votes
     answers
     views

    如何使用光滑的3.2过滤scala中的ADT列表

    我有一个以下案例类的列表 case class caseClass ( field1: Option[String], field2: Option[String], field3: Option[String] ) 这些字段对应于我想要搜索的mySQL表的列 . 基本上我想过滤每个case类实例,其中field1,field2和field3之间存在AND关系,并且之间存在OR关系 ...
  • 31 votes
     answers
     views

    在Slick中查看SQL查询

    有没有办法观察由 Query 生成的SQL语句?例如,我有这个:val q = actions.filter(v => v.actionHash === hash && v.carriedAt > past)我可以查看其底层原始SQL吗?
  • 1 votes
     answers
     views

    Slick 2 - 结合查询

    我想以编程方式组合查询以创建查询,从而满足所有需求 . 我可以看到有一个联合和运算符,但我看不到“交集”或** . 假设Slick FirstExample,让我们有一个代码: val notCheap = coffees.filter(_.price>8.0) val notExpensive = coffees.filter(_.price<9.0) val midpri...
  • 16 votes
     answers
     views

    如何在slick中使用sql“”“插值来编写动态SQL查询

    我是Scala和Slick的新手,并试图用Slick插值编写一个简单的SQL查询 . 案例1:我希望概括代码,以便将查询存储为常量 . 例如: val SQL_ALL_TABLE_METADATA: String = """SELECT DISTINCT table_name, column_name, data_type ...
  • 11 votes
     answers
     views

    如何使用Slick使用过滤器计算结果?

    我想面对一个我想简化的问题:(很确定,事实上我做错了) . 想要 我想计算id = 1的用户数 . 在SQL语言中,让我们说它是这样的: SELECT COUNT(*) FROM users WHERE id = 1 代码 我正在使用Slick的“提升”形式,所以这是我的一段代码计算用户: Query(Users.where( _.id === 1).length).first 实际上,这里发...
  • 7 votes
     answers
     views

    Slick 3.0多对多查询,将join作为可迭代

    我使用Slick 3.0创建了一个多对多的集合,但我正在努力以我想要的方式检索数据 . 事件和兴趣之间存在多对多关系 . 这是我的表格: case class EventDao(title: String, id: Option[Int] = None) class EventsTable(tag: Tag) extends Table[EventD...
  • 1 votes
     answers
     views

    如何将Slick 2.1纯SQL查询移植到Slick 3.0

    来自Slick 2.1的以下工作代码返回一个整数(在此示例中,恰好是运行名为“foobar”的函数的结果): def getFoobar(): Int = DB.withSession { val query = Q.queryNA[Int]("select foobar()") query.first } 如何将此端口移植到Slick 3.0?根据Slick 3...
  • 18 votes
     answers
     views

    优化Slick生成的SQL查询

    我有一个非常简单的查询,在 SQL 中可以表示如下: SELECT c.id, count(cp.product_id) FROM cart c LEFT OUTER JOIN cart_product cp ON c.id = cp.cart_id WHERE c.id = 3 GROUP BY c.id; 当使用 Slick DSL 表示上述查询时,我非常惊讶,该查询是从以下 DSL...
  • 8 votes
     answers
     views

    使用动态条件进行简单的SQL查询

    我正在努力为我的查询添加其他条件 . 在最简单的形式,我需要的是如下所示: def findPeople(name: String, maybeSurname: Option[String]) = { val sql1 = sql"select * from my_table where name = $name" val sql2 = maybeSurname.m...
  • 1 votes
     answers
     views

    如何在Slick中插入整个SQL查询

    光滑,我可以 sql"""SELECT C1 FROM T1""".as[Int].head 但我无法在SQL中使用变量 val ss = "SELECT C1 FROM T1" sql"""${ss}""".as[Int].head 这有什么解决方案吗?...
  • 1 votes
     answers
     views

    在普通的sql slick查询中使用`TableQuery [A]`

    是否可以在光滑的普通sql查询ala中使用已定义的 TableQuery[Foo] sql"SELECT * FROM foo".as[Foo] 没有手动提供隐含的 GetResult[Foo] ?如果我想使用提升嵌入和普通sql查询 Foo ,我必须定义两者吗?有没有办法从 TableQuery[Foo] 派生 GetResult[Foo] ?
  • 4 votes
     answers
     views

    在Slick中描述可选字段

    Slick DSL允许两种方式在表中创建可选字段 . 对于这个案例类: case class User(id: Option[Long] = None, fname: String, lname: String) 您可以使用以下方法之一创建表映射: object Users extends Table[User]("USERS") { def id = column[...
  • 86 votes
     answers
     views

    斯卡拉光滑的方法到目前为止我无法理解

    我尝试了解一些Slick的作品以及它需要什么 . 这是一个例子: package models case class Bar(id: Option[Int] = None, name: String) object Bars extends Table[Bar]("bar") { def id = column[Int]("id", O.Primar...
  • 5 votes
     answers
     views

    在for表达式中对Slick查询结果进行排序

    以下函数工作正常,但我希望它首先按parent_id排序结果,然后按顺序排序 . def getTree = for { (a, c) <- Activities leftJoin Clients on (_.id === _.id_a) } yield (a.id, a.label, a.parent_id, a.order, c.id.?, a=c.name) 我如何使用Slick...
  • 27 votes
     answers
     views

    如何使用光滑进行聚合

    我想强制光滑创建像 select max(price) from coffees where ... 但slick's documentation没有帮助 val q = Coffees.map(_.price) //this is query Query[Coffees.type, ...] val q1 = q.min // this is Column[Option[Double]] va...
  • 16 votes
     answers
     views

    通过Option列进行滑动和过滤

    我正在尝试使用Scala Slick 1.0.1过滤可选的日期列 . 可能我只是看不到它,但我有一个看起来像这样的表: case class UserRole(id:UUID, userID:UUID, role:String) object UserRole extends Table[UserRole]("User_Role") { //(id: Long = 0l...
  • 1 votes
     answers
     views

    动态OR过滤 - 光滑

    好的,我有一个方法,有多个这样的可选参数 def(username: Option[String], petname: Option[String], favouritefood: Option[String]) 我想编写一个动态查询,它能够以这种方式获取已定义参数的数据 select * from table where un like username or pn like pn or ff...
  • 3 votes
     answers
     views

    使用Slick 3的可选where子句的动态查询

    我正在尝试基于一组可能设置或可能未设置的参数来实现返回过滤结果的方法 . 似乎没有条件地链接多个过滤器,即从一个过滤器开始...... val slickFlights = TableQuery[Flights] val query = slickFlights.filter(_.departureLocation === params("departureLocation")...
  • 1 votes
     answers
     views

    光滑3.对于查询的理解 . 我可以强制选择

    当我运行下一个Query时,我有时什么也得不到 . 当没有相关的饲养员为我的花卉种类而 Build 时,这就很麻烦 . for { sort <- flowerSorts if sort.id === flowerSortId sortDetails <- flowersSortDetails if sortDetails.id === flowerSortId ftype...
  • 0 votes
     answers
     views

    Slick 3.0使用过滤器查询数据

    我有一个案例类如下: case class PowerPlantFilter( powerPlantType: Option[PowerPlantType], powerPlantName: Option[String], orgName: Option[String], page: Int, onlyActive: Boolean ) 我的表映射如下所示: class Po...
  • 5 votes
     answers
     views

    使用Slick进行递归树状表查询

    我的表数据形成一个树结构,其中一行可以引用同一个表中的父行 . 我试图使用Slick实现的是编写一个返回行和所有子行的查询 . 此外,我想做同样的事情,但写一个将返回一个孩子及其所有祖先的查询 . 换一种说法: findDown(1) 应该返回 List(Group(1, 0, "1"), Group(3, 1, "3 (Child of 1)")) fi...
  • 6 votes
     answers
     views

    在Slick中查询类型映射列

    你会如何在SLICK写这个查询? DB.withSession { implicit session => Tokens.where(_.expirationTime < DateTime.now ).delete } DateTime.now的类型为org.joda.time.DateTime 和_.expirationTime是相同类型的类型映射列 . 我收到这个错...
  • 5 votes
     answers
     views

    Slick - 在查询模板中忽略参数

    我正在尝试编写一个查询模板,如下所示: val byIdentifier = for { (identifier, issuer) <- Parameters[(String, String)] o <- Objects if (o.identifier === identifier) && (o.identifierIssuer === issuer) } y...

热门问题