Hibernate入门
什么是orm思想:
1.hibernate使用orm思想对数据库进行crud操作
2.在web阶段学习的javabean,更正确的叫法叫:实体类
3.orm: object relational mapping ,对象关系映射
(1)文字描述: 让实体类和数据可进行一一对应关系 (类中的属性跟表中的字段一一对应);使用配置文件配置
(2)不需要直接操作数据库表,而操作对应实体类对象
搭建hibernate环境:
一:导包
1.hibernate必须的jar包;
2.hibernate运行时会输出日志信息,但是hibernate本身没有支持的jar包,所以要导入外部jar包来支持
3.mysql驱动jar包
二:创建实体类;(hibernate中要求每个类中都有一个唯一的属性值,例如表中的主键id)
三:配置实体类和数据库表的一一对应关系(映射关系)
1.使用配置文件实现映射关系
(1)创建xml格式的配置文件
-映射配置文件名称和位置没有固定的要求
-建议:实体类所在包里面创建.实体类名称:hbm.xml (hbm: hibernate mapping)
(2)配置是xml格式,在配置文件中首先引入xml约束
-hibernate中引入的事dtd约束
(3)配置映射关系;
四:创建hibernate的核心配置文件
(1)核心配置文件格式xml,位置文件名称和位置是固定的
-位置:必须src下面
-名字:hibernate.cfg.xml
(2)引入dtd约束
(3)hibernate操作过程中,只会加载核心配置文件,其他文件不会加载
①:配置数据库的信息
②:配置hibernate信息
③:把映射文件放到核心配置文件中
实现操作步骤:
第一步:加载hibernate核心配置文件
第二步:创建SessionFactory对象
第三步:使用SessionFactory创建session对象
第四步:开启事务
第五步:写具体的逻辑crud操作
第六步:提交事务
第七步:关闭资源(web项目中没必要关闭资源)
hibernate核心api:
-Configuration:
(1)到src下找到名称hibernate.cfg.xml配置文件,创建对象,吧配置文件放到对象里
-SessionFactory
1.使用configuration对象创建sessionFactory对象
(1).创建sessionFactory过程中做的事情
-根据核心配置文件中,有数据库配置,有映射文件部分,到数据库里面根据映射关系把表创建
2.创建sessionFactory过程中,这个过程特别耗资源
(1)因此在hibernate操作中,建议一个项目一般创建一个sessionFactory对象
(2)具体实现:
*写工具类,写静态代码块实现(静态代码块在类加载时候执行,执行一次)
-Session(重点)
1.session类似于jdbc中的connection
2.调用session中的方法
(1)添加 save 方法
(2)修改 update
(3)删除 delete
(4)根据id查询 get 方法
3.session对象单线程对象
(1)sess对象不能共用,只能自己使用
-Transaction(事务)
1.session开启事务
2.方法
(1)提交.commit
(2)回滚:roll back
hibernate对象的三种状态:
1.瞬时状态
2.持久状态
3.托管状态
二级缓存:
各个session查出来的信息储存在的一个公共区域;
更改信息,如何保持缓存与数据库信息一致:
先检查缓存中是否有要更改的信息,有的话先删除掉,再把数据库的信息更改