Spring,Hibernate,JDBC之间的关系

时间:2010-10-22 00:31:48

标签: java hibernate spring jdbc

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

“尽管JDBC本身很有用,但我们希望如果您在阅读本文的前几节后不熟悉JDBC 手动,除了最微不足道的问题之外,你应该避免使用裸JDBC,并考虑使用一种流行的持久性 Hibernate,Spring的JDBC模板或Ibatis SQL Maps等框架可以完成大部分重复性工作,并且有时需要使用JDBC“

那么Spring,Hibernate,JDBC之间的关系是什么?该声明的含义是什么?“避免使用裸露的JDBC”?

谢谢,

萨拉

3 个答案:

答案 0 :(得分:18)

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

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

MyBatis,以前称为iBatis,是一个数据映射框架。

Spring是一组广泛的Web框架组件,包括允许与JDBC,Hibernate或iBatis集成的模板子系统,并抽象出处理其中任何一个的一些细节。

你确实应该学习JDBC,但也(最终)学习其他一些知识并尝试避免直接使用JDBC来处理非常复杂的事情。

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

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

不要试图一次性学习。

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

答案 1 :(得分:4)

字母>>句子。

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

同样,我看到了:

JDBC API > JDBC API,带连接池> Spring JDBC模板> ORM / JPA / JDO

答案 2 :(得分:2)

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

Hibernate - 数据库持久性框架。它允许您将Java对象存储在数据库中。非常漂亮。

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