Hibernate学习笔记

 

Orm和hibernate简介

ORM(Object-RelativeDatabase-Mapping):一种框架,java对象与数据库之间建立某种映射,以实现直接存取java对象。通过配置文件或者使用java注解把java对象映射到数据库上,自动生成SQL语句并执行。

实现原理:

存取:POJO(简单java对象)→各种属性→SQL语句→数据库

读取:SQL语句→POJO各种属性→POJO

 

Hibernate:最成功的ORM框架。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

特性:

1.使用简单,功能强大,对市面上所有数据库都有良好支持

2.能直接操作POJO,一种轻量级框架,不依赖任何容器

 

Hibernate简单工作原理

1.传统:SQL的insert、update、delete等语句由开发者在DAO层编写

Hibernate:充当了DAO层,根据POJO实体类的映射配置自动生成SQL语句。SQL语句动态生成,由实体类配置决定。

Hibernate底层由JDBC实现

 

2.读取Hibernate 的配置信息-〉创建SessionFactory

1)创建Configeration类的实例

它的构造方法:将配置信息(Hibernate config.xml)读入到内存。 
一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。

2)创建SessionFactory实例

把Configeration 对象中的所有配置信息拷贝到SessionFactory的缓存中。 
SessionFactory的实例代表一个数据库存储员源,创建后不再与Configeration 对象关联。

3)调用SessionFactory创建Session的方法

        1】用户自行提供JDBC连接。

        Connectioncon=dataSource.getConnection();
        Session s=sessionFactory.openSession(con);

        2】让SessionFactory提供连接

        Sessions=sessionFactory.openSession();

4)通过Session 接口提供的各种方法来操纵数据库访问


 

Hibernate实体关系映射:

数据库中的表是有关联的,两个表之间可以通过外键关联。如果把表抽象为实体类,这些关系可以抽象为实体之间的一对多(@OneToMany)、多对一(@ManyToOne) 、一对一(@OneToOne) 、多对多关系(@ManyToMany) 。Hibernate能处理这些复杂关系,前提是要正确配置这些关系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值