我是Scala的新手,也是Scala 2.0的游戏框架。我喜欢自己编写SQL代码并完全控制而不是依赖ORM工具的想法。但Anorm SQL是否适用于MySQL和Oracle等不同的数据库供应商?由于我正在编写一个应该能够与任何Relational数据库一起工作的应用程序,我的要求是编写应该跨数据库工作的SQL,因为我的应用程序应该与供应商数据库一起工作。
某些供应商可能拥有Oracle,而某些供应商可能拥有MySQL。所以我的代码应该是DB不可知的。这在Scala中是可能的,因为我知道在mysql上运行的quires不会在Oracle上运行。
先谢谢, 普拉迪普
答案 0 :(得分:0)
简答:NO。
答案很长:Anorm只是一个库,用于通过JDBC将SQL查询分派到数据库,检索结果并将结果发送给您。它不了解不同数据库之间的差异,因为它依赖于JDBC进行连接处理,并依赖于您编写查询。
您必须自己处理不同的数据库引擎,或者拥有适合您的ORM句柄。
PS:除非你真的需要一个与数据库无关的应用程序(并完全理解其含义),否则我建议您只针对2-3个流行的引擎并避免将来出现并发症的