- jacken
- 等级: 初级会员
- 性别:
- 文章: 26
- 积分: 40
- 来自: 广州
|
本笔记的内容: - 分层体系结构
- ORM介绍
- Hibernate简介
- Hibernate开发步骤
- Hibernate核心API
查看原文:http://www.jacken.com.cn/hibernatenoteone.yy/
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
返回顶楼 |
|
|
- jiyanliang
- 等级:
- 性别:
- 文章: 979
- 积分: 240
- 来自: 南京
|
希望下次能直接贴出来啊摘楼上的文章:http://www.jacken.com.cn/hibernatenoteone.yy/ 分层体系结构
- 表现层:提供与用户交互的界面.(例如Swing界面或JSP页面)
- 业务逻辑层:实现各种业务逻辑.(例如网店计算用户的等级而实施优惠的计算.并将交易记录保存到数据库.)
- 资源层(多位关系型数据库):保存与管理持久业务数据.(例如用户的姓名,年龄…)
- 在三层中的逻辑层分离出一个数据访问层,从而直接进行数据库的访问
图1
- 优:可维护性(修改一部分,不影响其他部分),可重用性(底层代码重用),可管理性(分工合作),可扩展性(容易添加新功能).
- 缺:…
ORM
- ORM的全称是Object Relational Mapping,
即对象关系映射。对象-关系映射实现了面向对象世界中对象到关 系数据库中的表的自动的(和透明的)持久化,使用元数据(meta
data)描述对象与数据库间的映射.简单来说.ORM冲当翻译功能,例如不会说外语的中国人照样可以请个翻译家去泡外国的妞!ORM就是那个翻译家了
- 理解面向对象世界与关系数据库世界:在面向对象世界中,是以对象出现的(类,属性),类对应着数据库的表,而类的属性对应着数据库的字段.
Hibernate简介
- Hibernate: 它是一种能实现ORM的框架,它提供了强大的对象和关系数据库映射以及查询功能,且是开源(LGPL)的.
Hibernate开发步骤
- 一 POJO(Plain Old Java Objects) ,有一些属性及其getter setter方法的JavaBeans类,并实现一个默认的构造函数.
- 二 持久化类和关系数据库的映射:即是编写 *.nbm.xml文件,用于映射数据库的的表(字段)和POJO类(属性).
一个学生数据库表对应的映射文件:Student.hbm.xml
- 三 Hibernate配置文件:默认为hibernate.cfg.xml或hibernate.properties.
一个hibernate.cfg.xml列子:hibernate.cfg.xml - 四 使用Hibernate API:
- Configuration:Configuration 类负责管理Hibernate 的配置信息,运行时读取数据库URL,用户名和密码等信息….Hibernate会自动在当前的CLASSPATH 中搜寻Hibernate.cfg.xml文件并将其读取到内存中作为后继操作的基础配置.
Configuration config = new Configuration().configure();
- SessionFactory:会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数
据.它在多个应用线程间进行共享.通常情况下, 整个应用只有唯一的一个会话工厂.SessionFactory负责创建Session
实例.我们可以通过Configuation实例构建SessionFactory:
Configuration config = new Configuration().configure(); SessionFactory sessionFactory = config.buildSessionFactory();
- Session:Session是持久层操作的基础,相当于JDBC中的Connection.Session实例通过SessionFactory实例构.Transaction:使用Hibernate进行操作时(增,删,改)必须显示的调用Transaction(默认:autoCommit=false).
Configuration config = new Configuration().configure(); SessionFactory sessionFactory = config.buildSessionFactory(); Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); Student stu=new Student(); //set value to stu session.save(stu); tx.commit(); …
Hibernate核心API
- Configuration类:用于配置和启动Hibernate,给Hibernate指定映射文件和Hibernate配置属性,然后创建SessionFactory实例.
- SessionFactory接口:一个SessionFactory实例对应着一个存储源(同一个数据库的
连接),并可产生出Session对象.SessionFactory是线程安全的,可被多个应用线程共享.创建了SessionFactory应不轻易
销毁(它是重量级的,有很大的缓存),如果访问多个数据库应该对应着个数建立SessionFactory实例!(看图)
- Session接口:称为持久化管理器,提供与持久化相关的操作,如添加,更新,删除,加载和查询对象.Session是轻量级线程,使用完应该要销毁.也不是线程安全的,避免多个线程共享同一个Session实例.
- Transaction接口:Transaction接口是Hibernate的数据库事务接口,对底层的事物接口进行封装(JDBC API,JTA,CORBA).
- Query和Criteria接口:这两个是Hibernate的查询接口.
|
返回顶楼 |
|
|