首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JOOQ对JDBC+tests

JOOQ对JDBC+tests
EN

Stack Overflow用户
提问于 2017-02-13 14:49:46
回答 1查看 2K关注 0票数 6

与JDBC+tests相比,JOOQ有什么优势?

在JDBC中,您可以直接用代码编写SQL查询,使用JOOQ我们调用方法,因此JOOQ在默认情况下速度更慢。

在JOOQ中,犯错误很难,但也不是不可能的。这个错误可以在测试中发现,使用JOOQ,您也应该编写这些测试,因此,这里对JOOQ没有好处。

EN

回答 1

Stack Overflow用户

发布于 2017-02-13 15:17:19

我完全同意你的看法。无论您使用的是“动态语言”(SQL作为外部DSL,例如JDBC)还是“静态语言”(SQL作为内部DSL,例如jOOQ),测试总是更好。

但更重要的是

您似乎只触及了jOOQ可以为您做的事情的表面。当然,类型安全的嵌入式SQL是一个很好的特性,但是一旦您有了这个特性,您就可以免费获得(列表还远远不够详尽):

当然,您可以免费获得您提到的编译时类型安全性(以及IDE自动完成)。如果您不想完全使用jOOQ提供的内部DSL,仍然可以使用普通SQL,然后以一种非类型的安全方式使用jOOQ的API (它仍然有大量的特性):

代码语言:javascript
复制
// Just one example: CSV exports
String csvExport =
ctx.fetch("SELECT * FROM my_table WHERE id = ?", 3)
   .formatCSV();

TL;DR:

  • JDBC是一个有线协议抽象API。
  • jOOQ是一个SQL API。

免责声明:

(当然,这个答案是有偏见的,因为我在jOOQ背后的公司工作)

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42206874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档