hibernate培训文档

hibernate培训文档

ID:45047980

大小:1.61 MB

页数:86页

时间:2019-11-08

hibernate培训文档_第1页
hibernate培训文档_第2页
hibernate培训文档_第3页
hibernate培训文档_第4页
hibernate培训文档_第5页
资源描述:

《hibernate培训文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、对象/关系映射—Hibernate学员要求:熟悉Java、SQL、JDBC,掌握面向对象的开发方法,并有实际项目开发经验课程目标:理解O/RMapping原理,掌握Hibernate开发的相关知识,并能使用Hibernate进行实际项目开发作者:赵青目录持久层的概念及必要性hibernate框架及核心类介绍hibernate进行持久化的一个例子hibernate如何解决对象和模型的不匹配对象的持久性生命周期对目前项目的进一步封装和思考数据的持久化持久化持久层持久化如何演变为持久层?是不是只要在应用中用了数据库就天然

2、具备了“持久层”了呢?未必!只有持久化而没有持久层网上商城购物结算的例子没有持久层的特征业务逻辑和数据库访问逻辑混杂在一起,没有清晰的界限,干扰了我们的视线,难于理解。业务规则的变动必然影响到数据库的访问逻辑,反之亦然,笨重,难于维护。好处是:简单方便、开发迅速,不需要复杂的设计,比较适合于业务简单的应用。引入持久层后的系统架构改良后的设计引入DAO模式DAO=DataAccessorObject数据访问对象数据库访问的实现细节被隐藏到DAO里面。DomainObject则提供了面向领域的对象,封装了具体的业务规则。

3、引入DAO模式的优点业务层无需关心具体的select、insert等操作,使得业务业务逻辑实现更加清晰,也使得开发人员的专业划分成为可能,业务人员专注于业务逻辑编码。业务层和持久层可以彼此独立的变化,比如:仅仅替换数据访问层的实现,可以将系统部署在不同的数据库平台上。改良后的代码观察DAO的实现细节问题的症状-用JDBC实现持久层为域中的每个类手工编写持续性代码的工作量繁重。这些代码基本上都是“支撑性”代码,单调、机械、乏味、不优雅。特别是需要支持多种SQL方言时,对于持久层的开发者是个大难题。新需求的产生-通用的持

4、久层框架将编写支撑性代码的工作量降到最低。编码是有趣的工作,但是敲键盘决不有趣。凡是无趣的工作都交给机器去完成。对象模型和关系模型的映射(ORM),编码时只需要关心对象,而无需再纠缠于JDBCResultSet中的字段。更好的移植性,只需要简单的修改配置参数,即可实现底层数据库的切换。目录持久层的概念及必要性hibernate框架及核心类介绍hibernate进行持久化的一个例子hibernate如何解决对象和模型的不匹配对象的持久性生命周期对目前项目的进一步封装和思考Hibernate在应用中的位置基于B/S的典型

5、三层架构开发如何分层?业务逻辑层和持久化层绝不要依赖于展现层。持久层对于业务层是透明的,持久层和业务层的变化是彼此独立的。Hibernate核心架构ConfigurationConfiguration类负责管理Hibernate的配置信息。它包括如下内容:Hibernate运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等。Hibernate映射文件(*.hbm.xml)。Configurationcfg=newConfiguration();SessionFactor

6、y会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。会话工厂在应用初始化时被创建,是一个重量级的类,它在多个应用线程间进行被共享,通常情况下,整个应用只有唯一的一个会话工厂,然而,如果你使用Hibernate访问多个数据库,你需要对每一个数据库使用一个会话工厂。应用程序从会话工厂里获得Session(会话)实例。SessionFactorysessionFactory=cfg.buildSessionFactory();SessionSession也称为持久化管理器,因为它是与持久化有关的操

7、作接口。Session代表与数据库之间的一次操作。Session通过SessionFactory打开,在所有的工作完成后,需要关闭。会话并不是线程安全的因此应该被设计为每次只能在一个线程中使用。Sessionsession=sessionFactory.openSession();Transaction(事务)Transaction将应用代码从底层的事务实现中抽象出来——可能是一个JDBC事务或一个JTA事务,这有助于保持Hibernate应用在不同类型的执行环境或容器中的可移植性。使用Hibernate进行操作时(

8、增、删、改)必须显示的调用Transaction(默认:autoCommit=false)。Transactiontx=session.beginTransaction();目录持久层的概念及必要性hibernate框架及核心类介绍hibernate进行持久化的一个例子hibernate如何解决对象和模型的不匹配对象的持久性生命周期对目前项目的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。