【问题标题】:Do we have the database access layer to easily switch to other databases in Scala我们是否有数据库访问层可以轻松切换到 Scala 中的其他数据库
【发布时间】:2018-08-31 13:40:15
【问题描述】:

要求:

我正在使用 Scala 开发与物联网相关的应用程序。在这个应用程序中,我必须为多个模块实现 API 列表。例如,我将采用用户模块。在世界上,大多数应用程序都有用户模块。所以我打算实现一个用户模块并在其他应用程序中重用它。

在当前项目中,我打算使用Redis数据库。将来,我可能会使用任何 SQL/NoSQL 数据库。那么如何编写一个可以被其他数据库支持的代码呢?

在 Scala 中可以做到这一点吗?请提供您的建议。谢谢。

【问题讨论】:

    标签: sql database scala nosql data-access-layer


    【解决方案1】:

    是的,这是可能的,但是据我所知,没有很好的解决方案可以轻松地在 NoSQL 和 SQL 数据库之间切换。如果您决定坚持使用 SQL DB,最简单的解决方案是使用 JOOQ 之类的东西来抽象出与 DB 的交互、处理和连接。这也将使您相当容易地从 MySQL 等 SQL DB 切换到 Postgres,例如。只需为 Postgres 重新配置 JOOQ。

    如果您仍然对在 NoSQL 和 SQL DB 之间切换感兴趣,那么最好在 JOOQ 之上构建自己的抽象层,例如。 as done here.

    顺便说一句,有适用于 JOOQ 的 SBT 插件(例如 SBT-JOOQ),如果您使用的是 SQL DB,我建议您将 JOOQ 与 Flyway 一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      • 2017-12-20
      • 1970-01-01
      相关资源
      最近更新 更多