问题标签 [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.
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
任何想法???
playframework - 是否有自动生成 Anorm 解析器组合器的工具?
我刚刚开始使用 Anorm 和解析器组合器。似乎有很多样板代码。例如,我有
在定义整个事物之前,每个数据库字段都会重复四次(!)。似乎解析器应该能够从案例类中半自动推导出来。有什么工具或其他技术可以建议减少这里涉及的工作吗?
感谢您的任何指示。
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 的信息将被复制到每一行。所以我需要按情节记录以某种方式将它们堆叠在一起(组)。然后就可以迭代列表并访问所有对象。
如您所见,在请求中,动画与流派之间存在多对多的关系。我不知道如何将所有内容放在一个列表中以便能够在视图中访问它。流派应该是动漫模型的一部分吗?
mysql - MySQL 异常:执行 SQL 事务
我正在尝试向 MySQL 提交一个 sql 事务,但我让自己通过了MySQLSyntaxErrorException
.
我正在使用的代码是:
我得到的例外:
我开始认为我根本无法使用 Anorm 执行此类语句。
scala - 有没有一种简单的方法可以将 Stream 作为 RowParser 的输出?
根据我目前看到的代码示例,鉴于rowParser
type RowParser[Photo]
,这就是你如何解析来自 table 的行列表:photo
运算符在其中*
创建类型为 的解析器ResultSetParser[List[Photo]]
。现在,我想知道是否同样有可能获得一个产生 a 的解析器Stream
(认为更懒惰总是更好),但我只是想出了这个:
它有效,但似乎过于复杂。我当然可以调用我从第一个函数中得到的,但我的目标是只应用于toStream
实际读取的行。有没有更简单的方法来实现这一点?List
rowParser
编辑:如果事先知道感兴趣的行数,我知道limit
应该在查询中使用它。我也知道,在很多情况下,无论如何你都会使用整个结果,所以懒惰不会提高性能。但是在某些情况下,您可能会节省几个周期,例如,如果由于某种原因,您有无法或不想在 SQL 中表达的搜索条件。所以我觉得奇怪的是,鉴于 anorm 提供了一种获得 a Stream
of 的方法SqlRow
,我没有找到一种直接的方法来应用 a RowParser
。
scala - 在 Play 中使用 Anrom 时,我可以从“as”获得结果流吗?框架?
当我在 Play 中使用 Anorm 时有这样的声明时!框架:
它似乎返回了我的模型对象的列表。我可以以不同的方式执行此操作,以便我可以获取 Stream[Note] 以便它“延迟”加载行吗?或者,即使它声称要返回一个列表,它也可能已经以某种方式存在。
换句话说,如果我做 all().head 我希望它只获取第一行。在我看来,在“as”之前它以流的形式开始,但在“as”之后它是一个列表。
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("")
scala - 异常动态过滤器
我正在研究一点 anorm 文档(来自 play framework),不清楚它是否支持常见的查询用例:动态过滤器,即用户在 10 个字段的搜索表单上填写 2 或 3 个搜索条件。
在这种情况下,如何在没有经典字符串操作的情况下动态构造查询?
scala - Playframework中使用异常时如何添加缓存机制
我看到 anorm 不是 ORM 框架,它是通过 SQL 直接查询数据。对于大多数应用程序/网站,我们不应该每次都查询数据库,我们需要通过 SQL 或 item id 缓存数据。我想知道 playframework 是否提供了任何类型的缓存机制?如果没有怎么添加呢?
谢谢。
sql - 播放 Anorm 和 SQL 连接
Play 2.0 in Scala with anorm 框架提供了两种与数据库交互的方法:
我现在很清楚,每次调用 withConnection 时都会获取并关闭连接。
为什么这两种方法每次都创建和关闭连接?这不是一个昂贵的过程吗?