问题标签 [anorm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1411 浏览

parsing - 如何使用 scala 在 playframework 2.0 中重用异常解析器

我一直在查看计算机数据库示例,我注意到为了重用计算机解析器,列表方法使用了 Computer.withCompany 解析器,它返回 (Computer, Company) 的元组

在我必须处理的情况下,我想要一个 Computer 对象,而不是对计算机 id 的引用,就像这样

case class Computer(id: Pk[Long] = NotAssigned, name: String, 介绍: Option[Date], 停产: Option[Date], company: Company)

所以我在想如何才能实现以下目标(当然是伪代码)

显然,棘手的部分是如何解决 getCompany

任何想法???

0 投票
2 回答
1381 浏览

playframework - 是否有自动生成 Anorm 解析器组合器的工具?

我刚刚开始使用 Anorm 和解析器组合器。似乎有很多样板代码。例如,我有

在定义整个事物之前,每个数据库字段都会重复四次(!)。似乎解析器应该能够从案例类中半自动推导出来。有什么工具或其他技术可以建议减少这里涉及的工作吗?

感谢您的任何指示。

0 投票
1 回答
1915 浏览

mysql - 玩 2.0 复杂连接查询如何解析(异常)

我正在使用 play 2.0 框架编写网站。解析结果时出现问题。这个对 mysql db 的请求会获取每集添加到数据库中的所有链接(每集可以有几个)以及关于剧集和动漫的所有信息。

返回值是类型,List[(((Episode,Anime),Link),Genre)] 但我如何才能将输出形成到让说 List[episode,anime,Seq[links]]List[episode,anime,Seq[Genres],Seq[links]]不知道将流派放在哪里的列表中。

您可以想象,当您每集有两个链接时,表格anime 和yas_episodes 的信息将被复制到每一行。所以我需要按情节记录以某种方式将它们堆叠在一起(组)。然后就可以迭代列表并访问所有对象。

如您所见,在请求中,动画与流派之间存在多对多的关系。我不知道如何将所有内容放在一个列表中以便能够在视图中访问它。流派应该是动漫模型的一部分吗?

0 投票
1 回答
325 浏览

mysql - MySQL 异常:执行 SQL 事务

我正在尝试向 MySQL 提交一个 sql 事务,但我让自己通过了MySQLSyntaxErrorException.

我正在使用的代码是:

我得到的例外:

我开始认为我根本无法使用 Anorm 执行此类语句。

0 投票
3 回答
720 浏览

scala - 有没有一种简单的方法可以将 Stream 作为 RowParser 的输出?

根据我目前看到的代码示例,鉴于rowParsertype RowParser[Photo],这就是你如何解析来自 table 的行列表:photo

运算符在其中*创建类型为 的解析器ResultSetParser[List[Photo]]。现在,我想知道是否同样有可能获得一个产生 a 的解析器Stream(认为更懒惰总是更好),但我只是想出了这个:

它有效,但似乎过于复杂。我当然可以调用我从第一个函数中得到的,但我的目标是只应用于toStream实际读取的行。有没有更简单的方法来实现这一点?ListrowParser

编辑:如果事先知道感兴趣的行数,我知道limit应该在查询中使用它。我也知道,在很多情况下,无论如何你都会使用整个结果,所以懒惰不会提高性能。但是在某些情况下,您可能会节省几个周期,例如,如果由于某种原因,您有无法或不想在 SQL 中表达的搜索条件。所以我觉得奇怪的是,鉴于 anorm 提供了一种获得 a Streamof 的方法SqlRow,我没有找到一种直接的方法来应用 a RowParser

0 投票
2 回答
836 浏览

scala - 在 Play 中使用 Anrom 时,我可以从“as”获得结果流吗?框架?

可能重复:
是否有一种简单的方法可以将 Stream 作为 RowParser 的输出?

当我在 Play 中使用 Anorm 时有这样的声明时!框架:

它似乎返回了我的模型对象的列表。我可以以不同的方式执行此操作,以便我可以获取 Stream[Note] 以便它“延迟”加载行吗?或者,即使它声称要返回一个列表,它也可能已经以某种方式存在。

换句话说,如果我做 all().head 我希望它只获取第一行。在我看来,在“as”之前它以流的形式开始,但在“as”之后它是一个列表。

0 投票
1 回答
94 浏览

playframework-2.0 - Play 2.0 未更新

我在使用 Play 2.0 版本时遇到问题。我需要使用 anorm 的新 getAliased 方法,但找不到:

value getAliased 不是 anorm.MetaData 的成员

同时,它被添加到这个提交中:https ://github.com/playframework/Play20/pull/370

我的 plugins.sbt 说:

addSbtPlugin("play" % "sbt-plugin" % "2.0.4")

4个月前将对应的库代码推送到master Play 2.0,为什么我的代码没有编译?

我的代码,仅供参考:

元数据(null).getAliased("")

0 投票
3 回答
1679 浏览

scala - 异常动态过滤器

我正在研究一点 anorm 文档(来自 play framework),不清楚它是否支持常见的查询用例:动态过滤器,即用户在 10 个字段的搜索表单上填写 2 或 3 个搜索条件。

在这种情况下,如何在没有经典字符串操作的情况下动态构造查询?

0 投票
3 回答
2101 浏览

scala - Playframework中使用异常时如何添加缓存机制

我看到 anorm 不是 ORM 框架,它是通过 SQL 直接查询数据。对于大多数应用程序/网站,我们不应该每次都查询数据库,我们需要通过 SQL 或 item id 缓存数据。我想知道 playframework 是否提供了任何类型的缓存机制?如果没有怎么添加呢?

谢谢。

0 投票
1 回答
1303 浏览

sql - 播放 Anorm 和 SQL 连接

Play 2.0 in Scala with anorm 框架提供了两种与数据库交互的方法:

我现在很清楚,每次调用 withConnection 时都会获取并关闭连接。

为什么这两种方法每次都创建和关闭连接?这不是一个昂贵的过程吗?