Tag Archives| "Open Document"

Hibernate开发指南(夏昕)

Tags: , , ,


中文书名:Hibernate开发指南

英文书名:Hibernate Development Guide

作者:夏昕

Hibernate开发指南(夏昕)

介绍:

本文是由笔者2003 年底一个咨询项目中,为客户做的持久层设计培训文案整理而来。
其中的内容涉及Hibernate 的使用,以及一部分笔者实际咨询项目中的经验积累,另一方面,大部分是笔者在Hibernate 的官方论坛中与众多技术专家交流所得。既来于斯,则归于斯。希望能聊有所用。
本文并非试图替代Hibernate Reference,相对而言,Hibernate Reference的编写目的是为开发者提供更简便的条目索引,而本文目标则在于为开发人员提供一个入门和掌握Hibernate的途径。
本文需结合Hibernate Reference使用。

目录:

Hibernate 开发指南………………………………………………………………………………………….3
准备工作…………………………………………………………………………………………….5
构建Hibernate基础代码…………………………………………………………………….5
由数据库产生基础代码…………………………………………………………………6
Hibernate配置………………………………………………………………………………….17
第一段代码……………………………………………………………………………………….19
Hibernate基础语义…………………………………………………………………………..21
Configuration …………………………………………………………………………….21
SessionFactory……………………………………………………………………………22
Session……………………………………………………………………………………….22
Hibernate高级特性…………………………………………………………………………………………24
XDoclet与Hibernate映射…………………………………………………………………24
数据检索…………………………………………………………………………………………..33
Criteria Query…………………………………………………………………….33
Criteria查询表达式……………………………………………………….33
Criteria高级特性…………………………………………………………..35
限定返回的记录范围…………………………………………………….35
对查询结果进行排序…………………………………………………….35
Hibernate Query Language (HQL)…………………………………..36
数据关联…………………………………………………………………………………………..37
一对一关联…………………………………………………………………..37
一对多关联…………………………………………………………………..39
Ø 单向一对多关系………………………………………………39
Ø 双向一对多关系………………………………………………44
多对多关联…………………………………………………………………..49
数据访问…………………………………………………………………………………………..56
PO和VO…………………………………………………………………………………..56
关于unsaved-value …………………………………………………………………….59
Inverse和Cascade……………………………………………………………….61
延迟加载(Lazy Loading)……………………………………………………61
事务管理…………………………………………………………………………………………..65
基于JDBC的事务管理……………………………………………………………….66
基于JTA的事务管理…………………………………………………………………67
锁(locking)……………………………………………………………………………..70
悲观锁(Pessimistic Locking)…………………………………70
乐观锁(Optimistic Locking)……………………………………71
Hibernate分页………………………………………………………………………………75
Cache管理……………………………………………………………………………………….77
Session管理…………………………………………………………………………………..81
Hibernate in Spring……………………………………………………………………………….86
编后赘言…………………………………………………………………………………………………………92

下载地址:

Hibernate开发指南

标签:, , ,

相关电子书

iBatis开发指南(夏昕)

Tags: , , ,


中文书名:iBatis开发指南

英文书名:iBatis Development Guide

作者:夏昕

iBatis开发指南(夏昕)

介绍:

相对Hibernate和Apache OJB 等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现。所谓“半自动”,可能理解上有点生涩。纵观目前主流的ORM,无论Hibernate 还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从POJO 到数据库表的全套映射机制。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate或者OJB 提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握,Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的SQL 并调用JDBC 接口加以执行。
大多数情况下(特别是对新项目,新系统的开发而言),这样的机制无往不利,大有一统天下的势头。但是,在一些特定的环境下,这种一站式的解决方案却未必灵光,在笔者的系统咨询工作过程中,常常遇到以下情况:
1. 系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。
2. 开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就笔者工作所面向的金融行业而言,工商银行、中国银行、交通银行,都在开发规范中严格指定)
3. 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。面对这样的需求,再次举起Hibernate 大刀,却发现刀锋不再锐利,甚至无法使用,奈何?恍惚之际,只好再摸出JDBC 准备拼死一搏……,说得未免有些凄凉,直接使用JDBC进行数据库操作实际上也是不错的选择,只是拖沓的数据库访问代码,乏味的字段读取操作令人厌烦。
“ 半自动化”的ibatis,却刚好解决了这个问题。
这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM 实现而言,“全自动”ORM 实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。而ibatis 的着力点,则在于POJO 与SQL之间的映射关系。也就是说,ibatis并不会为程序员在运行期自动生成SQL 执行。具体的SQL 需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等“全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显得别具意义。

目录:

ibatis Quick Start………………………………………………………………………………..5
准备工作…………………………………………………………………………………………….5
构建ibatis基础代码…………………………………………………………………………5
ibatis配置…………………………………………………………………………………………….. 11
ibatis基础语义…………………………………………………………………………………………16
XmlSqlMapClientBuilder………………………………………………………….16
SqlMapClient ……………………………………………………………………………….16
SqlMapClient基本操作示例………………………………………………….16
OR映射……………………………………………………………………………………………..19
ibatis高级特性…………………………………………………………………………………………26
数据关联…………………………………………………………………………………………..26
一对多关联………………………………………………………………………………..26
一对一关联………………………………………………………………………………..28
延迟加载…………………………………………………………………………………………..30
动态映射…………………………………………………………………………………………..31
事务管理…………………………………………………………………………………………..35
基于JDBC的事务管理机制……………………………………………………….35
基于JTA的事务管理机制………………………………………………………….36
外部事务管理……………………………………………………………………………..38
Cache………………………………………………………………………………………………..39
MEMORY类型Cache与WeakReference ………………………………….40
LRU型Cache ……………………………………………………………………………42
FIFO型Cache …………………………………………………………………………..43
OSCache…………………………………………………………………………………….43

下载地址:

iBatis开发指南

标签:, , ,

相关电子书

Spring开发指南(夏昕)

Tags: , , ,


中文名:Spring开发指南

英文名:Spring Development Guide

作者:夏昕

Spring开发指南(夏昕)

介绍:

2003 年年初,笔者在国外工作。其时,一位与笔者私交甚好的印度同事Paradeep从公司离职去斯坦福深造,临走送给笔者一本他最钟爱的书籍作为纪念。工作间隙,时常见到他摩娑此书,摇头不止(印度人习惯和中国人相反,摇头代表肯定、赞同,相当于与中国人点头。笔者刚开始与印度同僚共事之时,每每组织项目会议,一屋子人频频摇头,让笔者倍感压力……J)。
下班后,带着好友离职的失落,笔者夹着这本书走在回家的路上,恰巧路过东海岸,天色依然明朗,随意坐上了海边一家酒吧的露天吧台,要了杯啤酒,随手翻弄着书的扉页,不经意看见书中遍布的钢笔勾画的线条。“呵呵,Paradeep 这家伙,还真把这本书当回事啊”,一边笑着,一边摊开了此书,想看看到底是怎样的书让这样一个聪明老练的同事如此欣赏。从此开始,这本书伴随笔者度过了整整一个月的业余时间……..这本书,也就是出自Rod Johnson 的:《Expert One-on-One J2EE Design and Development》此书已经由电子工业出版社出版,译版名为《J2EE设计开发编程指南》。
半年后,一个新的Java Framework 发布,同样出自Rod Johnson 的手笔,这自然引起了笔者极大的兴趣,这就是Spring Framework。Spring Framework 实际上是Expert One-on-One J2EE Design and Development 一书中所阐述的设计思想的具体实现。在One-on-One 一书中,Rod Johnson 倡导J2EE 实用主义的设计思想,并随书提供了一个初步的开发框架实现(interface21 开发包)。而SpringFramework 正是这一思想的更全面和具体的体现。Rod Johnson 在interface21 开发包的基础之上,进行了进一步的改造和扩充,使其发展为一个更加开放、清晰、全面、高效的开发框架。
本文正是针对SpringFramework的开发指南,讲述了SpringFramework的设计思
想以及在开发中的实际使用。同时穿插了一些笔者在项目实作中的经验所得。

目录:

Spring初探……………………………………………………………………………………………………….. 6
准备工作……………………………………………………………………………………………………………. 6
构建Spring基础代码…………………………………………………………………………………………. 7
Spring 基础语义…………………………………………………………………………………………………13
Dependency Injection ………………………………………………………………………………………13
依赖注入的几种实现类型……………………………………………………………………………………..16
Type1 接口注入…………………………………………………………………………………………………..16
Type2 设值注入…………………………………………………………………………………………………..17
Type3 构造子注入………………………………………………………………………………………………..17
几种依赖注入模式的对比总结……………………………………………………………………………….17
Spring Bean封装机制…………………………………………………………………………………………..19
Bean Wrapper……………………………………………………………………………………………………..19
Bean Factory………………………………………………………………………………………………………..20
ApplicationContext………………………………………………………………………………………………23
Web Context…………………………………………………………………………………………………………28
Spring 高级特性…………………………………………………………………………………………………….29
Web应用与MVC…………………………………………………………………………………………………….29
Spring MVC…………………………………………………………………………………………………………..30
Spring MVC指南……………………………………………………………………………………………………30
基于模板的Web表示层技术……………………………………………………………………………………44
Web应用中模板技术与JSP技术的对比……………………………………………………………………49
输入验证与数据绑定………………………………………………………………………………………………..51
异常处理………………………………………………………………………………………………………………….62
国际化支持………………………………………………………………………………………………………………64
WebWork2 & Spring…………………………………………………………………………………………….68
Quick Start …………………………………………………………………………………………………………….69
WebWork 高级特性………………………………………………………………………………………………..82
Action驱动模式………………………………………………………………………………………………………..82
XWork拦截器体系……………………………………………………………………………………………………87
输入校验…………………………………………………………………………………………………………………..93
国际化支持………………………………………………………………………………….,…………………………..107
Webwork2 in Spring………………………………………………………………………………………………110
Struts in Spring……………………………………………………………………………………………………….118
数据持久层……………………………………………………………………………………………………………….127
事务管理…………………………………………………………………………………………………………………..127
持久层封装……………………………………………………………………………………………………………….131
JDBC………………………………………………………………………………………………………………………..131
Hibernate in Spring ……………………………………………………………………………………………….139
ibatis in Spring………………………………………………………………………………………………………..146
Aspect Oriented Programming……………………………………………………………………………..150
AOP概念…………………………………………………………………………………………………………………..150
AOP in Spring…………………………………………………………………………………………………………153
Dynamic Proxy 与Spring AOP ………………………………………………………………………………153
CGLib 与Spring AOP ………………………………………………………………………………………………163
AOP 应用………………………………………………………………………………………………………………….165
DAO Support ………………………………………………………………………………………………………….169
Remoting…………………………………………………………………………………………………………………169

下载地址:

Spring开发指南

标签:, , ,

相关电子书

Site Sponsors

书籍分类