Structs+Spring+Hibernate

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

你可能感兴趣的:(Structs+Spring+Hibernate)