用户登录
用户注册

分享至

用hibernate做数据库api

  • 作者: FXPYLY
  • 来源: 51数据库
  • 2021-01-15
我的理解是jdbc(Java Database Connectivity)是一套通用的接口API定义,也就是说它规定了我们对数据库进行select、insert等操作的时候应该调用哪个api。但是针对不同的特定数据库,需要具体去实现这套接口从而和具体的数据库系统对接(mysql,orcle等等),而这些针对具体数据库的jdbc接口实现就是某种特定数据库的jdbc驱动。
至于Hibernate,它实际上底下仍然是使用jdbc的api,通过各种sql语句进行数据库操作。比如你让一个类的对象存到数据库中,实际上hibernate底下还是用了insert语句,只是它包装的让你看不到实际的sql语句操作而已。而这个时候,因为hibernate只是面向jdbc的api进行编写的,至于怎么让jdbc的api能够实际的对某种数据库进行操作,就需要jdbc的驱动了。
简单说,就是hibernate底下是直接使用jdbc的api接口进行的编程,然后操作具体的某种数据库时候,jdbc的api接口需要针对这个具体数据库系统的实现,即特定的jdbc驱动了。



  hibernate连接数据库在底层用的还是jdbc,只不过它对jdbc做了一个封装,更便于使用,hibernate的运行流程:
1:读取配置文件
2:创建sessionFactory
3:创建session
4:创建事务
5:持久化操作
6:提交事务
7:关闭session
8:关闭sessionFactory



  

hibernate开销大啊,最简单的思路,功能多,一定占内存,

但一般情况下,hibernate对很多访问进行了缓存,进行了很多优化,占内存多,但性能不错,

自己来用jdbc的话,小项目无所谓了,大项目下性能往往不如hibernate,因为没有hibernate优化的好.





  hibernate 是帮助JAVA---DB之间的对象映射、存储、缓存等。
JDBC是Hibernate --- DB 之间的通讯,各厂商的DB都有不同的协议、标准,事实上,驱动就是将JDBC---DB之前的通讯。
软件
前端设计
程序设计
Java相关