iBATIS实战(iBATIS之父权威著作)
基本信息
- 原书名: iBatis in Action
- 原出版社: Manning Publications
- 作者: (加)Clinton Begin Brandon Goodin Larry Meadors [作译者介绍]
- 译者: 叶俊
- 丛书名: 图灵程序设计丛书.Java系列
- 出版社:人民邮电出版社
- ISBN:9787115177100
- 上架时间:2008-4-28
- 出版日期:2008 年5月
- 开本:16开
- 页码:269
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > 网络编程 > 综合
编辑推荐
iBATIS之父权威著作.
深入探讨比Hibernate更简单高效的数据库访问框架..
同时支持Java和.NET平台...
推荐阅读
内容简介回到顶部↑
本书是讲述ibatis框架的权威著作。书中既详实地介绍了ibatis的设计理念和基础知识,也讨论了动态sql、高速缓存、dad框架等高级主题,还讲解了ibatis在实际开发中的应用。书的最后给出了一个设计优雅、层次清晰的示例程序jgamestore,该示例涵盖全书的大部分知识点,可以作为ibatis学习和web开发的经典案例,非常值得深入研究。
本书既可为广大的开发人员(不仅仅是web应用程序开发人员)提供指导,也可为架构师的项目决策提供参考。项目经理、数据库管理员、质量保证员与测试员以及系统分析师也能从本书中受益。
本书既可为广大的开发人员(不仅仅是web应用程序开发人员)提供指导,也可为架构师的项目决策提供参考。项目经理、数据库管理员、质量保证员与测试员以及系统分析师也能从本书中受益。
作译者回到顶部↑
本书提供作译者介绍
Clinton Begin iBATIS的创造者,资深企业应用开发人员和敏捷开发导师。他曾经担任ThoughtWorks、微软和斯坦福大学等业界知名机构的顾问。.
Brandon Goodin iBATIS核心开发人员,资深企业应用开发顾问。..
Larry Meadors iBATIS核心开发人员,资深企业应用开发顾问。...
.. << 查看详细
Brandon Goodin iBATIS核心开发人员,资深企业应用开发顾问。..
Larry Meadors iBATIS核心开发人员,资深企业应用开发顾问。...
.. << 查看详细
目录回到顶部↑
第一部分 介绍
第1章 ibatis的理念
1.1 一个结合了所有优秀思想的混合型解决方案
1.2 ibatis适合应用在何处
1.3 使用不同类型的数据库
1.4 ibatis如何解决数据库的常见问题
1.5 小结
第2章 ibatis是什么
2.1 映射sql语句
2.2 ibatis如何工作
2.3 为何使用ibatis
2.4 何时不该使用ibatis
2.5 5分钟内用ibatis创建应用程序
2.6 ibatis未来的发展方向
2.7 小结
第二部分 ibatis基础知识
第3章 安装和配置ibatis
3.1 获得一份ibatis发布
3.2 发布中包含的内容
3.3 依赖性
第1章 ibatis的理念
1.1 一个结合了所有优秀思想的混合型解决方案
1.2 ibatis适合应用在何处
1.3 使用不同类型的数据库
1.4 ibatis如何解决数据库的常见问题
1.5 小结
第2章 ibatis是什么
2.1 映射sql语句
2.2 ibatis如何工作
2.3 为何使用ibatis
2.4 何时不该使用ibatis
2.5 5分钟内用ibatis创建应用程序
2.6 ibatis未来的发展方向
2.7 小结
第二部分 ibatis基础知识
第3章 安装和配置ibatis
3.1 获得一份ibatis发布
3.2 发布中包含的内容
3.3 依赖性
译者序回到顶部↑
iBATIS是一种功能强大且十分有用的数据访问工具。不同于将数据库表直接映射为Java对象并完全隐藏SQL的O/RM工具(如著名的Hibernate),iBATIS将SQL语句映射成Java对象,或者更精确地说,iBATIS将SQL语句看作一个具有输入参数和输出结果的函数,然后分别将这个函数的输入参数和输出结果映射为Java对象。.
iBATIS和O/RM工具各有用途。如果你要创建一个全新的项目,并且希望对领域对象模型和数据库中的关系模型都拥有完全的控制权,那么以O/RM工具作为数据访问工具就非常合适,因为O/RM毕竟是“全自动”的,它可以为你节省大量的工作。作为开发人员,使用O/RM时需要关注的就仅仅是对象模型,然后把POJO定义到数据库表的映射关系,剩下的工作就可以完全交给O/RM代劳了。但如果数据库已经存在,而你只是开发一个针对该数据库的新应用程序,那么O/RM工具有时就很难处理了。要是你运气不好(例如,这个数据库设计得很糟糕或者甚至是一个遗留数据库),那你的开发过程将注定是一场噩梦了。而在这种情况下,iBATIS就非常有用,因为使用iBATIS,你对SQL拥有完全的控制权,而SQL显然是访问关系数据库最强大的工具。如果说O/RM是一种“全自动”的数据访问工具,那么可以认为iBATIS是一种“半自动”的数据访问工具。“全自动”固然方便,但“半自动”有时则更加灵活。..
与O/RM相比,iBATIS的另一个优点在于它的简单性。简单性是iBATIS开发小组的首要目标,根植于iBATIS的设计理念之中。要使用iBATIS,你只要熟悉SQL和XML就足够了,相信这两点对现代软件开发人员来说都已经是基本素质了。而要用好O/RM,例如Hibernate,那么你确实需要经历一个或长或短的学习过程和经验积累的过程。
本书是iBATIS框架的作者亲自操刀撰写的一本著作,可以认为是iBATIS的权威指南。书中既详实介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAO框架等高级主题,还讲解了iBATIS在实际开发中的应用。书的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该示例涉及全书的大部分知识点,可以作为iBATIS学习和Web开发的经典案例,非常值得深入研究。
本书主要由国防科技大学计算机学院叶俊博士负责翻译,同时参与本书翻译的还有马蓉、焦贤龙、张杰良、肖枫涛、刘齐军、韩智文、张聪、闫志强、唐玲艳、肖国尊、闫志强等。感谢王晓敏逐字逐句的校对以及所提出的宝贵的修改意见。并谨以此书献给我深爱的妻子。Be Flying工作室负责人肖国尊负责本书译员的确定、翻译质量和进度的控制与管理,在此予以衷心感谢。
由于时间仓促、译者水平有限,译文中可能会有一些错误,欢迎大家批评和指正。译者将会在博客blog.csdn.net/yejun8214上维护一个勘误表,也会发表一些iBATIS的相关文章,敬请关注。...
叶 俊
2007年10月于长沙
iBATIS和O/RM工具各有用途。如果你要创建一个全新的项目,并且希望对领域对象模型和数据库中的关系模型都拥有完全的控制权,那么以O/RM工具作为数据访问工具就非常合适,因为O/RM毕竟是“全自动”的,它可以为你节省大量的工作。作为开发人员,使用O/RM时需要关注的就仅仅是对象模型,然后把POJO定义到数据库表的映射关系,剩下的工作就可以完全交给O/RM代劳了。但如果数据库已经存在,而你只是开发一个针对该数据库的新应用程序,那么O/RM工具有时就很难处理了。要是你运气不好(例如,这个数据库设计得很糟糕或者甚至是一个遗留数据库),那你的开发过程将注定是一场噩梦了。而在这种情况下,iBATIS就非常有用,因为使用iBATIS,你对SQL拥有完全的控制权,而SQL显然是访问关系数据库最强大的工具。如果说O/RM是一种“全自动”的数据访问工具,那么可以认为iBATIS是一种“半自动”的数据访问工具。“全自动”固然方便,但“半自动”有时则更加灵活。..
与O/RM相比,iBATIS的另一个优点在于它的简单性。简单性是iBATIS开发小组的首要目标,根植于iBATIS的设计理念之中。要使用iBATIS,你只要熟悉SQL和XML就足够了,相信这两点对现代软件开发人员来说都已经是基本素质了。而要用好O/RM,例如Hibernate,那么你确实需要经历一个或长或短的学习过程和经验积累的过程。
本书是iBATIS框架的作者亲自操刀撰写的一本著作,可以认为是iBATIS的权威指南。书中既详实介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAO框架等高级主题,还讲解了iBATIS在实际开发中的应用。书的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该示例涉及全书的大部分知识点,可以作为iBATIS学习和Web开发的经典案例,非常值得深入研究。
本书主要由国防科技大学计算机学院叶俊博士负责翻译,同时参与本书翻译的还有马蓉、焦贤龙、张杰良、肖枫涛、刘齐军、韩智文、张聪、闫志强、唐玲艳、肖国尊、闫志强等。感谢王晓敏逐字逐句的校对以及所提出的宝贵的修改意见。并谨以此书献给我深爱的妻子。Be Flying工作室负责人肖国尊负责本书译员的确定、翻译质量和进度的控制与管理,在此予以衷心感谢。
由于时间仓促、译者水平有限,译文中可能会有一些错误,欢迎大家批评和指正。译者将会在博客blog.csdn.net/yejun8214上维护一个勘误表,也会发表一些iBATIS的相关文章,敬请关注。...
叶 俊
2007年10月于长沙
前言回到顶部↑
作为软件开发人员,我已经在许多不同的环境中工作过。即使是在同一家公司中,软件开发的方式也往往是迥然不同的。开发人员每天都要面对各种各样的挑战、面对不同的人和工具,考虑到这一点,你就会迅速了解他们的世界是多么的变化多端。我永远也不知道下一个项目又会有怎样惊人的挑战,因此我总是在工具箱中保留着各种各样的工具。在很长一段时间内,iBATIS只不过是这个工具箱中的一种普通工具。当我不得不手写JDBC代码时,它可以帮我节省很多时间。.
那么,iBATIS是如何从我的工具箱中的普通工具转变为一个为成千上万的人使用的Apache项目的呢?其实原本我从没打算过使iBATIS成为一个完全成熟的开源项目。所以尽管它的源代码就在那儿,但我从没想过把它推向市场,也从没主动地和任何人分享过它,直到JPetStore。
故事发生在2002年7月1日,我针对网上流传的关于Pet Store的讨论发了一个帖子。当时位于Redmond的一家大型软件公司宣称其C#语言和.NET平台的生产率要比Java高出好几个数量级。我在技术上持中立态度,虽然我承认C#和.NET的确相当之好,但是我仍然不能接受上述这种论断。因此连续几个星期,我用晚上的时间编写了JPetStore,以之反驳他们的论断。JPetStore发布后,在Java社区引起了广泛的讨论。其中讨论得最为热烈的话题就是JPetStore没有使用Enterprise JavaBeans(EJB)的持久化层,而是用了一个称为iBATIS的小型框架。
经常有人问我:“为什么不用其他开源工具?”实际上,当时根本没有像iBATIS那样的工具。代码生成器倒是有很多,有开发时(development-time)代码生成工具,有构建时(build-time)代码生成工具,在此我就不对它们过多赘述了。我只强调一点:任何能够被生成的代码在经过适当的泛化(generalized)后都应该可以被抽取出来,成为一个框架或者某个框架的一部分。而这正是iBATIS的本质:一个用于加快JDBC编程的经过泛化的框架。..
另一个被经常问到的问题就是,“为什么不用对象/关系映射(O/RM)工具?”只要环境合适,你当然可以使用O/RM工具。例如,当你可以完全控制数据库和对象模型时,O/RM工具就非常有效:你可以毫不费力地得到理想的对象关系映射;反之,如果你无法同时控制它们,那么当两者之间存在不匹配时(这几乎是肯定的),使用O/RM就会成为一场噩梦,因为它们必须匹配。但是,要为我经常处理的数据库类型建立与对象模型之间的映射几乎是不可想象的。当然,使用一个好的O/RM工具,如Hibernate或者TopLink,也许可以做到。但问题是:真的应该去建立这种映射吗?
曾经有人给我讲过一个故事,故事中那个拿着锤子的人总是把所有东西都看作是钉子——哈哈,是否觉得似曾相识!回到我们的话题,O/RM工具实际上是一种框架。而框架总是构建于约束和假设之上。这些约束和假设在某些环境中是理想的,但并不适用于所有的环境——不要因为拿着锤子就把所有的东西都看作钉子?。作为软件开发人员,我们的工作就是用那些理想的解决方案去匹配我们遇到的实际问题,并非只能使用那些我们知道的方案或者最流行的方案,或者网上最热门的方案,而应该使用那些能够最好地解决我们所面对的问题的方案。总之,不同的环境需要不同的工具——iBATIS就是这众多不同工具中的一种。
到目前为止,iBATIS已经在3种语言中得到了实现:Java、C#和Ruby。并且有一个由十几个开发人员组成的小组在专门维护它,同时它还拥有一个由成千上万的开发人员组成的社区。你可以在图书和文章中,甚至在Web上的博客中学习它。虽然iBATIS算不上(也似乎根本不可能成为)持久化框架的翘楚,但它仍然是一个巨大的成功。另外,回答关于iBATIS的各种问题这个任务现在已经由社区全面接管了,如果你们不满意以上问题的答案或者仍然有什么其他问题,欢迎到社区提问。
有一个能够完全“独立自主、自力更生”的社区是一个开源项目取得成功的真正标志。如果你早就读到过这句话,我猜你一定是该社区的一份子。因此让我们一同庆祝iBATIS这个小小框架的巨大成功吧。
Clinton Begin
iBATIS持久化框架的创始人
JPetStore应用程序的缔造者...
那么,iBATIS是如何从我的工具箱中的普通工具转变为一个为成千上万的人使用的Apache项目的呢?其实原本我从没打算过使iBATIS成为一个完全成熟的开源项目。所以尽管它的源代码就在那儿,但我从没想过把它推向市场,也从没主动地和任何人分享过它,直到JPetStore。
故事发生在2002年7月1日,我针对网上流传的关于Pet Store的讨论发了一个帖子。当时位于Redmond的一家大型软件公司宣称其C#语言和.NET平台的生产率要比Java高出好几个数量级。我在技术上持中立态度,虽然我承认C#和.NET的确相当之好,但是我仍然不能接受上述这种论断。因此连续几个星期,我用晚上的时间编写了JPetStore,以之反驳他们的论断。JPetStore发布后,在Java社区引起了广泛的讨论。其中讨论得最为热烈的话题就是JPetStore没有使用Enterprise JavaBeans(EJB)的持久化层,而是用了一个称为iBATIS的小型框架。
经常有人问我:“为什么不用其他开源工具?”实际上,当时根本没有像iBATIS那样的工具。代码生成器倒是有很多,有开发时(development-time)代码生成工具,有构建时(build-time)代码生成工具,在此我就不对它们过多赘述了。我只强调一点:任何能够被生成的代码在经过适当的泛化(generalized)后都应该可以被抽取出来,成为一个框架或者某个框架的一部分。而这正是iBATIS的本质:一个用于加快JDBC编程的经过泛化的框架。..
另一个被经常问到的问题就是,“为什么不用对象/关系映射(O/RM)工具?”只要环境合适,你当然可以使用O/RM工具。例如,当你可以完全控制数据库和对象模型时,O/RM工具就非常有效:你可以毫不费力地得到理想的对象关系映射;反之,如果你无法同时控制它们,那么当两者之间存在不匹配时(这几乎是肯定的),使用O/RM就会成为一场噩梦,因为它们必须匹配。但是,要为我经常处理的数据库类型建立与对象模型之间的映射几乎是不可想象的。当然,使用一个好的O/RM工具,如Hibernate或者TopLink,也许可以做到。但问题是:真的应该去建立这种映射吗?
曾经有人给我讲过一个故事,故事中那个拿着锤子的人总是把所有东西都看作是钉子——哈哈,是否觉得似曾相识!回到我们的话题,O/RM工具实际上是一种框架。而框架总是构建于约束和假设之上。这些约束和假设在某些环境中是理想的,但并不适用于所有的环境——不要因为拿着锤子就把所有的东西都看作钉子?。作为软件开发人员,我们的工作就是用那些理想的解决方案去匹配我们遇到的实际问题,并非只能使用那些我们知道的方案或者最流行的方案,或者网上最热门的方案,而应该使用那些能够最好地解决我们所面对的问题的方案。总之,不同的环境需要不同的工具——iBATIS就是这众多不同工具中的一种。
到目前为止,iBATIS已经在3种语言中得到了实现:Java、C#和Ruby。并且有一个由十几个开发人员组成的小组在专门维护它,同时它还拥有一个由成千上万的开发人员组成的社区。你可以在图书和文章中,甚至在Web上的博客中学习它。虽然iBATIS算不上(也似乎根本不可能成为)持久化框架的翘楚,但它仍然是一个巨大的成功。另外,回答关于iBATIS的各种问题这个任务现在已经由社区全面接管了,如果你们不满意以上问题的答案或者仍然有什么其他问题,欢迎到社区提问。
有一个能够完全“独立自主、自力更生”的社区是一个开源项目取得成功的真正标志。如果你早就读到过这句话,我猜你一定是该社区的一份子。因此让我们一同庆祝iBATIS这个小小框架的巨大成功吧。
Clinton Begin
iBATIS持久化框架的创始人
JPetStore应用程序的缔造者...
媒体评论回到顶部↑
“本书是独特并且无价的,它将成为我以后多年的案头必备参考。”.
——Nathan Maves,Sun公司资深Java架构师
“真是一本绝妙好书!清晰、易读、深入,为整个实战系列增彩不少。”...
——JavaLobby.com网站
——Nathan Maves,Sun公司资深Java架构师
“真是一本绝妙好书!清晰、易读、深入,为整个实战系列增彩不少。”...
——JavaLobby.com网站








点击看大图






加载中...

