/****************
**Hibernate_day1
**2011_04_25
**/
课程安排:
<1>:Hibernate概念和Hibernate编程
<2>:Hibernate的主键生成策略和对象状态
<3>:Hibernate的映射关系
<4>:Hibernate的继承映射,事务
<5>:Hiberante的锁机制
知识点:
掌握对象持久化的概念
理解ORM的作用
比较几种常用的ORM框架
掌握Hibernate的体系结构
分析Hibernate的API
编写简单的Hibernate程序
Open Source:开源框架
(1):把通用的步骤以project形式发布到网上。
(2):开发人员可以修改源代码。
(3):个人或者是基金组织
规范:SUN发布,每个开发人员和厂商必须遵循的。
ORM(Object Relational Mapping):
<1>:Java应用程序中持久化对象到关系数据库表之间的映射
<2>:映射原则:
<1>:实体名 ============ 表名
<2>:属性=============== 列
<3>:关系 ============== 外键
继承映射
ORM产品:
Hibernate 全自动 sql select
ibatis 半自动 sql
JPA(规范): Java Persistence Api
java ===== jdbc ===db
java=======hibernate====db
java=======ibaits====db
JDBC
java ====== JPA HIBETANTE DB
IBATIS
Hibernate配置:
hibernate.cfg.xml 描述数据库相关信息
*.hbm.xml:描述实体属性到关系数据库表之间的具体映射原则
User实体 表User
id 1 id=ttt ttt1
name lili name=email email lili
password 6868 password=userpwd userpwd 6868
Hibernate对javabean的要求:
<1>:set|get
<2>:必须有唯一标识
<3>:无参数构造函数
<4>:集合类型必须声明为接口类型
Configuration
概述:Configuration 类负责管理Hibernate 的配置信息。它包括如下内容:
Hibernate运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等。
Hibernate映射文件(*.hbm.xml)。
SessionFactory
概述:应用程序从SessionFactory(会话工厂)里获得Session(会话)实例。它在多个应用线程间进行共享。通常情况下,整个应用只有唯一的一个会话工厂——例如在应用初始化时被创建。然而,如果你使用Hibernate访问多个数据库,你需要对每一个数据库使用一个会话工厂。
会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。
Session
Session不是线程安全的,它代表与数据库之间的一次操作,它的概念介于Connection和Transaction之间。
Session也称为持久化管理器,因为它是与持久化有关的操作接口。
Session通过SessionFactory打开,在所有的工作完成后,需要关闭。
它与Web层的HttpSession没有任何关系。
Transaction
概述:
它将应用代码从底层的事务实现中抽象出来——
这可能是一个JDBC事务,一个JTA用户事务或者甚至是
一个公共对象请求代理结构(CORBA)——允许应用通过
一组一致的API控制事务边界。这有助于保持Hibernate
应用在不同类型的执行环境或容器中的可移植性。
Query:
Query(查询)接口允许你在数据库上执行查询并控制查询如何执行。
查询语句使用HQL或者本地数据库的SQL方言编写。
Session注意点:
1:get 有结果都返回 无结果 返回NULL
2:load 有结果都返回 无结果 抛异常
session
Configuration cfg = new Configuration().configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Hibernate_day1
最新推荐文章于 2024-08-29 17:00:41 发布