gpt4 book ai didi

sql - 为什么有人要使用 JDBC 而不是 korma 之类的库?

转载 作者:行者123 更新时间:2023-12-01 07:02:42 28 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




9年前关闭。




我读过一篇名为 Blogging with Noir 的博文,我真的很惊讶作者使用 java.jdbc而不是像 Korma 这样的库我觉得很惊讶。在你的代码中编写 SQL 查询而不是让工具为你做这件事有什么好处?

最佳答案

我想这是出于通常的原因,您可能会选择直接在 Clojure 中使用 API 而不是使用包装器:

  • 现有知识 : 你已经很了解 JDBC 并且知道它会完成工作,除非有明显的优势,否则为什么要花时间学习新的抽象?
  • 不确定性 - 图书馆是否具备您需要的所有功能?将来会继续维护并实现新功能吗?
  • 稳定性 - 包装器可能还不成熟,因此如果发生重大更改/发现错误,您将面临代码必须更改的风险。
  • 完整性 - 包装器可能(尚未)封装您需要的原始 API 的所有功能
  • 开销 - 有时额外的抽象层会增加你不需要/不想要的性能开销
  • 额外依赖 - 增加你的构建的复杂性,以及你需要记住的抽象数量的概念开销。

  • 归根结底,这是一种折衷——以上是您可能想要使用底层 API 的原因,但同样有充分的理由可以选择使用包装器:
  • 更地道 - 与基于 Java 的 API 相比,包装库可能会为您提供更简洁、更优雅的代码(特别是如果 Java API 是命令式/有状态的)。你不得不承认科尔马非常优雅!
  • 更可组合 - Clojure 包装器倾向于采用函数式风格,这导致与其他 clojure 代码/库的轻松组合。
  • 新功能 - Clojure 包装器通常会添加原始 API 不具备的额外功能(例如,查看 Seesaw 在 Swing 之上添加的数据绑定(bind)功能)
  • 关于sql - 为什么有人要使用 JDBC 而不是 korma 之类的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12295801/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com