【问题标题】:Relationships between Spring, Hibernate, JDBCSpring、Hibernate、JDBC之间的关系
【发布时间】:2011-04-28 22:16:39
【问题描述】:

我刚开始阅读 Sun 的 JDBC 教程。我安装了 MySQL Connector/J,只是浏览了它的菜单,然后发现了这个语句:

"虽然 JDBC 本身很有用,但我们希望如果您对 JDBC 不熟悉,在阅读了本文的前几节之后 手册,您将避免使用裸 JDBC 处理除了最琐碎的问题之外的所有问题,并考虑使用流行的持久性之一 Hibernate、Spring 的 JDBC 模板或 Ibatis SQL Maps 等框架来完成 JDBC 有时需要的大部分重复性工作和繁重的工作”

那么Spring、Hibernate、JDBC之间有什么关系呢?说“避免使用裸 JDBC”是什么意思?

谢谢,

莎拉

【问题讨论】:

标签: java hibernate spring jdbc


【解决方案1】:

如果您使用 Hibernate、Spring 的 JDBC 模板或 Ibatis SQL Maps,您仍然在使用 JDBC,但您不必直接处理它。他们正在为您做这件事,并且在一定程度上使您免于使用 JDBC 的一些困难。

Hibernate 是一个object-relational-mapping 框架。

MyBatis,原名iBatis,是一个数据映射框架。

Spring 是一组范围广泛的 Web 框架组件,包括允许与 JDBC、Hibernate 或 iBatis 集成的模板子系统,并抽象出处理它们的一些细节。

您确实应该学习 JDBC,但也(最终)学习其中的一些,并尽量避免将 JDBC 直接用于任何非常复杂的事情。

这些想法也与Java Persistence API (JPA)密切相关(尤其是Hibernate),这当然也值得学习。

您可能还想查看Java Data Objects (JDO)

不过,不要试图一次全部学习。

从 JDBC 开始是个好主意。坚持下去不是。

【讨论】:

  • “从 JDBC 开始是个好主意。坚持下去不是。” 为此(以及其他)+1
  • 谢谢。喜欢您的回答,因为您还指出了除了信息之外的学习方向。
【解决方案2】:

字母>单词>句子。

这就是我们学习(自然)语言的方式。

同样,我明白了:

JDBC API > JDBC API with Connection Pooling > Spring JDBC Template > ORM/JPA/JDO

【讨论】:

    【解决方案3】:

    “避免使用裸 JDBC” - 不要直接使用 JDBC API。

    Hibernate - 一个数据库持久化框架。它允许您将 Java 对象存储在数据库中。很漂亮。

    Spring - 它实际上是一个 Web 开发框架。我认为 JDBC 模板是 JDBC 的抽象。

    【讨论】:

    • Spring 在 2016 年不仅仅是一个“Web 开发框架”(在我发布问题六年后的评论,希望你不要介意):P
    猜你喜欢
    • 2014-10-06
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多