hibernate框架
1.什么是框架提高我们的开发效率.可以理解成是一个半成品项目.
2.hibernate框架
(1)dao层框架
(2)操作数据库.
(3)以面向对象的方式操作数据库.
(4)orm 思想. 对象关系映射. 通过映射文件配置对象与数据库中表的关系.
3.hibernate框架搭建
1> 导包required+驱动包
2> 准备实体类 以及 orm元数据
3> 创建主配置文件
4>书写代码测试
4.配置文件详解
orm元数据(xxx.hbm.xml)
hibernate.cfg.xml
必选配置4+1 方言
可选配置
显示sql
格式化
sql自动生成表
|- update orm元数据引入
5.api详解
Configuration 读取配置
sessionFactory 创建session
Session 获得事务操作对象,以及数据增删改查
Transaction 控制事务
一.hibernate中的实体创建规则
1>对象必须有oid.
2>对象中的属性,尽量使用包装类型
3>不使用final修饰类
4>提供get/set方法....
二.hibernate主键生成策略(7种)
increment: 查询最大值.再加1
identity: 主键自增.
sequence:Oracle使用的
hilo: hibernate自己实现自增算法
native: 根据所选数据库三选一
uuid: 随机字符串
assigned: 自然主键.
三.对象的三种状态
瞬时状态
没有id,没有在session缓存中.
持久化状态
有id,再session缓存中。
托管|游离状态
有id,不在session缓存中.
持久化: 持久化状态的对象,会在事务提交时,自动同步到数据库中.
我们使用hibernate的原则.就是将对象转换为持久化状态.
四.一级缓存
缓存: 为了提高效率.
一级缓存:为了提高效率.session对象中有一个可以存放对象的集合.
查询时: 第一次查询时.会将对象放入缓存.再次查询时,会返回缓存中的.不再查询数据库.
修改时: 会使用快照对比修改前和后对象的属性区别.只执行一次修改.
五.事务管理
1>如何配置数据库隔离级别
1 读未提交
2 读已提交
4 可重复读
8 串行化
2>指定session与当前线程绑定
hibernate.current_session_context_class thread
六.批量查询
HQL 面向对象的语句查询
Criteria 面向对象的无语句查询
SQL 原生SQL