播放2.6 + Slick 3.x体验和样本

时间:2017-12-14 13:30:09

标签: scala slick playframework-2.6

我想请一些有经验的Scala / Play程序员提供建议。

我很高兴使用Play Framework 2.x多年来使用Java。现在我想学习Scala版本的Play,因为有人告诉我,使用Scala比使用Java更好。

我实际上对语言本身印象深刻,我理解Scala和Play之间的联系。但是,我在使用Scala中使用的数据库库时遇到了一些问题。

我尝试了其中的一些,最后,我留在Slick,因为它看起来最有希望围绕Scala语言的想法。从Java世界来看,我习惯了ORM,尤其是Play Ebean。我喜欢对象图加载的想法,所以我可以从DB加载例如Customer实体,而不是遍历客户的合同,票据和其他实体。所有的SQL选择和连接都是由ORM为我完成的。

现在......我完全理解,Slick不是ORM。我可以忍受这一点。但是我想找一些用Play / Slick / Scala编写的实际应用程序,这样我就可以观察到使用Slick的最佳实践。我可以在互联网上找到的只是非常基本的例子,它们连接到数据库并进行一些基本的插入/更新/删除操作。

我找不到使用表和其他东西之间关系的任何复杂示例,这比仅从一个表中保存/加载行更复杂。

关于如何学习这个的任何想法?

1 个答案:

答案 0 :(得分:1)

几点 - 你不学习Scala的Scala版本,而是学习写Scala

是的,您对关系映射库做出了正确的选择 - Slick。但还有另一个名为Quill的库,我猜这个库还没有准备就绪,但看起来比Slick更先进。

https://github.com/getquill/quill

我有一些使用Slick with Play的基本示例。虽然我没有做复杂的连接,但这里有一个可能对你有所帮助的样本!

https://github.com/joesan/plant-simulator/blob/master/app/com/inland24/plantsim/services/database/DBSchema.scala

如果您是Scala的新手,我会建议您在进入Play,Slick和其他基于Scala的库之前先学习该语言。