Hibernate总结

hibernate的概述
Hibernate是使用在三层架构中的dao层的一个框架,与JDBC和myBatis是类似的技术,它也是基于ORM(对象关系映射)设计的,其实就是对JDBC的封装,封装之后的东西使用起来更加方便快捷。
Hibernate是一个全自动的ORM框架,而myBatis是一个半自动的ORM框架,全自动代表数据表,SQL语句会自动生成,弊端在于不够灵活,效率低,而mybatis可以字节写sql语句非常灵活。国内更加青睐于myBatis。半自动表示,数据查出来之后可以自动封装到JavaBean(实体类/pojo/entity)中。
JavaBean:类中的属性全部私有,必须有一个无参的构造方法,必须有get和set方法。我们需要通过反射调用无参构造创建对象并且调用set方法给对象赋值,完成数据的自动注入。

1.hibernate中的四个重要的对象
Configuration:读取配置文件,创建SessionFactory

SessionFactory:获取Session对象

Session:操作数据库(CRUD操作),开启事务

Transaction:提交事务,或者回滚事务

注:创建工厂时创建的数据中的表(即数据表)

2.Hibernate核心配置文件
位置:在src目录下

名字:hibernate.cfg.xml

内容:

数据库部分(配置数据库连接的四大参数)
Hibernate部分(设置是否自动生成表,是否打印sql语句,是否设置格式化)
读取实体类映射文件
3.实体类映射文件
位置:建议写在实体类包下

名字:实体类名.hbm.xml

作用:配置实体类与数据表的映射关系

内容:

Class标签:name属性指定实体类路径,table属性指定生成的表名

id标签:配置主键映射,设置主键的生成策略,值为native(根据使用的数据库自行判断,可以自己判断出使用的数据库是oracle还是mysql)

property标签:配置其他字段的映射

4.对象三种状态
游离态:数据库中有,session缓存中没有,clear之后就是游离态

瞬时态:刚new的对象,没有存到数据库中(save之后,就从瞬时态变为持久态)

持久态:数据库中有session中也有,比如get出来的。 (持久态对象clear之后就是游离态对象)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值