hibernate和JDBC的本质区别

23 篇文章 0 订阅
12 篇文章 0 订阅

hibernate和JDBC的本质区别就是Hibernate叫做ORM(Object Relational Mapping),也就是对象关系映射。这和JDBC有什么区别呢?JDBC是直接通过SQL获取信息,你得到的是散乱的信息碎片,因为同一个表格里每一列的属性是不一样的,有VARCHAR,有BLOB,有DATE等等,所以你使用和传递起来很不方便,必须知道每个信息的属性和对应的列名你才能对它进行操作。

在这种情况下如果频繁的从数据库获取不同的信息,不但工作量和代码复杂程度,就连出现bug的机率都大大增加了。如果是你会怎么办呢?是否会为那些重复查询,存储的表格建立一个对应的JavaBean来存储其中每一列的信息,写一个方法去进行转换就行了,这样你不用记住列名,也不用记住属性,更不用使用危险的类似ResultSet.getString("column_name")这样的操作了。你把每一列都放到这个JavaBean里,在使用的时候直接用userObject.getUsername(); userObject.setEmail("user@domain.com");就可以进行数据的读和存,是不是方便了很多?

这个改变就是JDBC到ORM的转变,而Hibernate就是ORM工具的其中一个,这些ORM工具把你数据库里的表格和相应的JavaBean连接起来,形成映射,当你进行数据库查询的时候自动把信息填充到正确的Bean里,在你使用的时候就方便了很多。

这只是Hibernate和JDBC的区别,在这类ORM工具里,除了关系的映射之外还有很多性能,安全性等方面的优化,但学习Hibernate过程中如果摸不着头脑的话,我想了解了ORM工具的原理会有所帮助吧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值