为不同的数据库播放框架anorm

时间:2013-09-13 14:01:39

标签: scala playframework-2.0 anorm

我是Scala的新手,也是Scala 2.0的游戏框架。我喜欢自己编写SQL代码并完全控制而不是依赖ORM工具的想法。但Anorm SQL是否适用于MySQL和Oracle等不同的数据库供应商?由于我正在编写一个应该能够与任何Relational数据库一起工作的应用程序,我的要求是编写应该跨数据库工作的SQL,因为我的应用程序应该与供应商数据库一起工作。

某些供应商可能拥有Oracle,而某些供应商可能拥有MySQL。所以我的代码应该是DB不可知的。这在Scala中是可能的,因为我知道在mysql上运行的quires不会在Oracle上运行。

先谢谢, 普拉迪普

1 个答案:

答案 0 :(得分:0)

简答:NO。

答案很长:Anorm只是一个库,用于通过JDBC将SQL查询分派到数据库,检索结果并将结果发送给您。它不了解不同数据库之间的差异,因为它依赖于JDBC进行连接处理,并依赖于您编写查询。

您必须自己处理不同的数据库引擎,或者拥有适合您的ORM句柄。

PS:除非你真的需要一个与数据库无关的应用程序(并完全理解其含义),否则我建议您只针对2-3个流行的引擎并避免将来出现并发症