- Hibernate的工作原理是什么?为什么要用hibernate?
(1)Hibernate可以理解为一个中间件。它负责把java程序的SQL语句接收过来并发送到数据库,而数据库返回的信息由Hibernate接收后直接生成一个对象传给java.
在Hibernate中有两个特有的文件,一个是以.hbm.xml结尾的映射文件,一个是以.cfg.xml结尾的配置文件。.cfg.xml文件的作用是连接数据库,文件内部其实就是一个由user,password,url,driver组成的链接库的基本信息。.hbm.xml文件是对数据库中表的映射文件。
(2)Hibernate工作原理
①读取并解析hibernate.cfg.xml配置文件;
②由hibernate.cfg.xml中的
③.通过SessionFactory sf = config.buildSessionFactory();创建SessionFactory
④Session session = sf.openSession();//打开Sesssion
⑤Transaction tx = session.beginTransaction();//创建并启动事务Transation
⑥persistent operate操作数据,持久化操作
⑦tx.commit();//提交事务
⑧关闭Session
⑨关闭SesstionFactory
3)使用Hibernate的原因如下:
① 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
②HIbernate是基于JDBC的主流持久化框架,是一个优秀的对象关系映射实现,它在很大程度上简化了DAO层的编码工作;
③Hibernate使用java反射机制,而不是字节码增强程序来实现透明性;
④Hibernate性能非常好,因为它是一个轻量级框架,映射的灵活性很出色,它支持各种关系数据库,从一对一到多对多的各种复杂关系。
为什么要持久化? 持久化技术封装了数据访问细节,为大部分业务逻辑提供面向对象的API。 ● 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度; ● 代码重用性高,能够完成大部分数据库操作; ● 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。