fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页计算机/网络数据库深入浅出MyBatis技术原理与实战

深入浅出MyBatis技术原理与实战

作者:杨开振 著 出版社:电子工业出版社 出版时间:2016年08月 

ISBN: 9787121295942
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €43.99

类别: 数据库 SKU:5c2386b2421aa9858779b7c7 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787121295942

编辑推荐
 
内容简介
当前已经是移动互联网时代,Java持久框架Hibernate没有办法适应高性能,灵活,大数据,可优化等要求,这时MyBatis就进入了我们的视野,随着移动互联网应用的持续发酵,Spring MyBatis的应用已在Java互联网平台上得到大量的使用,单单在51job招聘网站中MyBatis在全国也有近万个岗位的需求,加上未在51job发布的企业,可见需求相当大,而在当今市场上却没有任何一本介绍MyBatis的书籍,为了填补这一空白本书主要介绍了Java MyBatis技术。本书详细介绍了MyBatis的基础组成、配置、映射器、动态SQL,教会读者正确使用MyBatis,书中包含大量的实例,使读者可以参考。接着介绍了MyBatis的运行原理和插件开发并配有一个完整的插件例子。为了增加实用性,作者还介绍了MyBatis-Spring项目,使得读者能够学习到如何把MyBatis整合到Spring项目中,后作者还将讲解一些常用实例,比如Blob字段、文件上传、批量、动态表名等实用场景,让读者能够参考和注意一些细节的问题。本书从基础讲到底层,注重实战,原理,照顾到初中高三类读者,可以作为MyBatis的学习教程和参考技术丛书。
作者简介
杨开振

  • 长期从事Java开发工作,拥有近十年的Java开发经验,目前就职于一家互联网金融公司,担任互联网软件开发职位。
  • IT技术的狂热爱好者,热衷于Java互联网方向的软件技术开发与研究。
  • 熟练掌握Java基础、软件开发设计模式和数据库相关知识,对Spring、MyBatis等主流Java开源框架有深入研究。
目  录
目 录
第1 章 MyBatis 简介…………………………………………………………………………………………………………………. 1
1.1 传统的JDBC 编程………………………………………………………………………………………………………… 1
1.2 ORM 模型……………………………………………………………………………………………………………………… 4
1.3 Hibernate…………………………………………………………………………………………………………………… 4
1.4 MyBatis ……………………………………………………………………………………………………………………. 9
1.5 什么时候用MyBatis……………………………………………………………………………………………………..12
第2 章 MyBaits 入门………………………………………………………………………………………………………….13
2.1 开发环境准备……………………………………………………………………………………………………………….13
2.1.1 下载MyBatis ………………………………………………………………………………………………………….13
2.1.2 搭建开发环境…………………………………………………………………………………………………………14
2.2 MyBatis 的基本构成……………………………………………………………………………………………………..15
2.2.1 构建SqlSessionFactory…………………………………………………………………………………………….15
2.2.2 创建SqlSession………………………………………………………………………………………………………19
2.2.3 映射器…………………………………………………………………………………………………………………..21
2.3 生命周期………………………………………………………………………………………………………………………..26
2.3.1 SqlSessionFactoryBuilder………………………………………………………………………………………….27
2.3.2 SqlSessionFactory……………………………………………………………………………………………………27
2.3.3 SqlSession………………………………………………………………………………………………………………27
2.3.4 Mapper…………………………………………………………………………………………………………………..28
2.4 实例………………………………………………………………………………………………………………………….29
第3 章 配置………………………………………………………………………………………………………………………..37
3.1 properties 元素……………………………………………………………………………………………………………….38
3.1.1 property 子元素……………………………………………………………………………………………………….38
3.1.2 properties 配置文件…………………………………………………………………………………………………39
3.1.3 程序参数传递…………………………………………………………………………………………………………39
3.1.4 优先级…………………………………………………………………………………………………………………..40
3.2 设置………………………………………………………………………………………………………………………..41
3.3 别名……………………………………………………………………………………………………………………….44

3.3.1 系统定义别名…………………………………………………………………………………………………………44

3.3.2 自定义别名…………………………………………………………………………………………………………….47

3.4 typeHandler 类型处理器……………………………………………………………………………………………….48

3.4.1 系统定义的typeHandler…………………………………………………………………………………………..49

3.4.2 自定义typeHandler………………………………………………………………………………………………….51

3.4.3 枚举类型typeHandler………………………………………………………………………………………………55

3.5 ObjectFactory…………………………………………………………………………………………………………………62

3.6 插件………………………………………………………………………………………………………………………………..65

3.7 environments 配置环境…………………………………………………………………………………………………65

3.7.1 概述………………………………………………………………………………………………………………………65

3.7.2 数据库事务…………………………………………………………………………………………………………….66

3.7.3 数据源…………………………………………………………………………………………………………………..67

3.8 databaseIdProvider 数据库厂商标识……………………………………………………………………………68

3.8.1 使用系统默认规则………………………………………………………………………………………………….68

3.8.2 不使用系统默认规则………………………………………………………………………………………………69

3.9 引入映射器的方法………………………………………………………………………………………………………..71

第4 章
映射器…………………………………………………………………………………………………………………………….73

4.1 映射器的主要元素………………………………………………………………………………………………………..73

4.2 select 元素……………………………………………………………………………………………………………………..74

4.2.1 概述………………………………………………………………………………………………………………………74

4.2.2 简易数据类型的例子………………………………………………………………………………………………75

4.2.3 自动映射……………………………………………………………………………………………………………….76
4.2.4 传递多个参数…………………………………………………………………………………………………………78

4.2.5 使用resultMap 映射结果集……………………………………………………………………………………..81

4.3 insert 元素……………………………………………………………………………………………………………………..82

4.3.1 概述………………………………………………………………………………………………………………………82

4.3.2 主键回填和自定义………………………………………………………………………………………………….83

4.4 update 元素和delete 元素…………………………………………………………………………………………….85

4.5 参数………………………………………………………………………………………………………………………………..85

4.5.1 参数配置……………………………………………………………………………………………………………….86

4.5.2 存储过程支持…………………………………………………………………………………………………………86

4.5.3 特殊字符串替换和处理(#和$)……………………………………………………………………………..87

4.6 sql 元素………………………………………………………………………………………………………………………….88

4.7 resultMap 结果映射集…………………………………………………………………………………………………..89

4.7.1 resultMap 元素的构成……………………………………………………………………………………………..89

4.7.2 使用map 存储结果集………………………………………………………………………………………………91

4.7.3 使用POJO 存储结果集……………………………………………………………………………………………91

4.7.4 级联………………………………………………………………………………………………………………………92

4.8 缓存cache ……………………………………………………………………………………………………………………113

4.8.1 系统缓存(一级缓存和二级缓存)………………………………………………………………………..113

4.8.2 自定义缓存…………………………………………………………………………………………………………..117

第5 章 动态SQL ……………………………………………………………………………………………………………………..119

5.1 概述………………………………………………………………………………………………………………………………119

5.2 if 元素…………………………………………………………………………………………………………………………..120

5.3 choose、when、otherwise 元素………………………………………………………………………………….120

5.4 trim、where、set 元素………………………………………………………………………………………………..121

5.5 foreach 元素…………………………………………………………………………………………………………………123

5.6 test 的属性……………………………………………………………………………………………………………………124

5.7 bind 元素………………………………………………………………………………………………………………………125

第6 章 MyBatis 的解析和运行原理………………………………………………………………………………………..127

6.1 涉及的技术难点简介…………………………………………………………………………………………………..128

6.1.1 反射技术………………………………………………………………………………………………………………129

6.1.2 JDK 动态代理……………………………………………………………………………………………………….130

6.1.3 CGLIB 动态代理…………………………………………………………………………………………………..133

6.2 构建SqlSessionFactory 过程………………………………………………………………………………………134

6.2.1 构建Configuration…………………………………………………………………………………………………135

6.2.2 映射器的内部组成………………………………………………………………………………………………..136

6.2.3 构建SqlSessionFactory…………………………………………………………………………………………..138

6.3 SqlSession 运行过程……………………………………………………………………………………………………138

6.3.1 映射器的动态代理………………………………………………………………………………………………..138

6.3.2 SqlSession 下的四大对象……………………………………………………………………………………….142

6.3.3 SqlSession 运行总结………………………………………………………………………………………………150

第7 章 插件……………………………………………………………………………………………………………………………….152

7.1 插件接口………………………………………………………………………………………………………………………152

7.2 插件的初始化………………………………………………………………………………………………………………153

7.3 插件的代理和反射设计………………………………………………………………………………………………154

7.4 常用的工具类——MetaObject……………………………………………………………………………………157

7.5 插件开发过程和实例…………………………………………………………………………………………………..159

7.5.1 确定需要拦截的签名…………………………………………………………………………………………….159

7.5.2 实现拦截方法……………………………………………………………………………………………………….161

7.5.3 配置和运行…………………………………………………………………………………………………………..162

7.5.4 插件实例………………………………………………………………………………………………………………163

7.6 总结………………………………………………………………………………………………………………………………166

第8 章 MyBatis-Spring……………………………………………………………………………………………………………168

8.1 Spring 的基础知识……………………………………………………………………………………………………….168

8.1.1 Spring IOC 基础…………………………………………………………………………………………………….169

8.1.2 Spring AOP 基础……………………………………………………………………………………………………171

8.1.3 Spring 事务管理…………………………………………………………………………………………………….173

8.1.4 Spring MVC 基础…………………………………………………………………………………………………..179

8.2 MyBatis-Spring 应用……………………………………………………………………………………………………181

8.2.1 概述…………………………………………………………………………………………………………………….181

8.2.2 配置SqlSessionFactory…………………………………………………………………………………………..182

8.2.3 配置SqlSessionTemplate
………………………………………………………………………………………..184

8.2.4 配置Mapper………………………………………………………………………………………………………….188

8.2.5 配置事务………………………………………………………………………………………………………………190

8.3 实例………………………………………………………………………………………………………………………………191

8.3.1 环境准备………………………………………………………………………………………………………………191

8.3.2 文件目录………………………………………………………………………………………………………………193

8.3.3 Spring 配置文件…………………………………………………………………………………………………….194

8.3.4 MyBatis 框架相关配置…………………………………………………………………………………………..198

8.3.5 配置服务层…………………………………………………………………………………………………………..205

8.3.6 编写控制器…………………………………………………………………………………………………………..209

8.3.7 测试…………………………………………………………………………………………………………………….210

8.4 总结………………………………………………………………………………………………………………………………210

第9 章 实用的场景…………………………………………………………………………………………………………………..212

9.1 数据库BLOB 字段读写……………………………………………………………………………………………..212

9.2 批量更新………………………………………………………………………………………………………………………215

9.3 调用存储过程………………………………………………………………………………………………………………217

9.3.1 存储过程in 和out 参数的使用………………………………………………………………………………217

9.3.2 存储过程游标……………………………………………………………………………………………………….220

9.4 分表………………………………………………………………………………………………………………………………225

9.5 分页………………………………………………………………………………………………………………………………227

9.5.1 RowBounds 分页……………………………………………………………………………………………………227

9.5.2 插件分页………………………………………………………………………………………………………………229

9.6 上传文件到服务器………………………………………………………………………………………………………239

9.7 在映射中使用枚举………………………………………………………………………………………………………247

9.8 多对多级联………………………………………………………………………………………………………………….249

9.9 总结………………………………………………………………………………………………………………………………253

附录A 数据库模型描述与级联学生关系建表语句……………………………………………….254

前  言
前 言
  随着手机、平板电脑等移动终端的广泛应用,移动互联网时代已经到来。在这个时代里,构建一个高效的平台并提供服务是移动互联网的基础,在众多的网站服务中,使用Java构建网站的不在少数。移动互联网的特点是大数据、高并发,对服务器往往要求分布式、高性能、高灵活等,而传统模式的Java 数据库编程框架已经不再适用了。在这样的背景下,一个Java 的持久框架MyBatis 走入了我们的世界,它以封装少、高性能、可优化、维护简易等优点成为了目前Java 移动互联网网站服务的持久框架,它特别适合分布式和大数据网络数据库的编程。
  本书主要讲解了MyBatis 的应用。从目前的情况来看,国内图书市场上没有介绍MyBatis 的书籍,有的只是官方的API 和少数的几篇博客文章,国外图书市场上的这类书籍也是凤毛麟角,这使得系统学习MyBatis 困难重重。官方的API 只是简单介绍了MyBatis有些什么功能和一些基本的使用方法,没有告诉我们如何用好,其中原理是什么,需要注意哪些问题,这显然是不够的。有些博客虽然讲解得比较深入,但是内容支离破碎,没有形成一个完整的知识体系,不易于初学者对MyBatis 进行系统学习。随着移动互联网应用的兴起,系统掌握MyBatis 编程技巧已经成了用Java 构建移动互联网网站的必要条件。为了顺应时代的要求,笔者写下了这本书,以期为广大需要掌握MyBatis 的开发者提供学习和参考的资料。
  阅读本书要求开发人员拥有Java 语言基础和JDBC 基础知识,对数据库也要掌握入门知识,好能够掌握常用的设计模式,因为在介绍MyBatis 构造时,常常涉及设计模式,尤其是第6 章和第7 章的内容。
  由于本书以讲解MyBatis 的原理为主,所以适合中高级开发人员阅读。本书分为三大部分。
  部分是MyBatis 基础应用,主要介绍如何高效地使用MyBatis。
  第1 章:MyBatis 的内容简介,告诉读者MyBatis 是什么,在何种场景下使用它。
  第2 章:主要介绍MyBatis 的基础模块及其生命周期,并给出实例。
  第3 章:主要介绍MyBatis 配置的主要含义和内容。
  第4 章:介绍MyBatis 映射器的主要元素及其使用方法。
  第5 章:介绍动态SQL,助你轻松应对大部分的SQL 场景。
  第二部分是MyBatis 原理,我们将深入源码去理解MyBatis 的内部运行原理以及插件的开发方法和技巧。
  第6 章:介绍MyBatis 的解析和运行原理,我们将了解到SqlSession 的构建方法,以及其四大对象是如何工作的。
  第7 章:在第6 章的基础上着重介绍MyBatis 的插件,这里我们将学习插件的设计原理,以及开发方法和注意的要点。
  第三部分是MyBatis 的实战应用,主要讲解MyBatis 的一些实用的场景。
  第8 章:介绍MyBatis-Spring,主要讲解如何在Spring 项目中集成MyBatis 应用,帮助读者在Spring 的环境中顺利使用MyBatis。
  第9 章:介绍MyBatis 的实用场景,精选一批典型且又常用的场景。详细解析每一个场景下,开发人员需要注意避免的一些错误和性能上的损失。
  MyBatis 源于2002 年的iBatis 项目,至今MyBatis 中依然有许多iBatis 的痕迹。本书默认使用MyBatis 的版本是3.3.0,使用MyBatis-Spring 的版本是1.2.3。而历史上的iBatis的书籍已经跟不上技术发展的步伐,于是笔者通过自己的努力和实践,在研究MyBatis 源码的基础上,写作本书。从本书中既能学习如何使用MyBatis,也可以学习MyBatis 的原理和应用,为国内的MyBatis 开发者提供一条系统掌握MyBatis 编程技巧的捷径,当然读者也可以把本书作为工具书参考。在实际操作中,MyBatis 往往是结合Spring 使用的,于是本书花费了一些篇幅讲解MyBatis-Spring 技术,笔者也会略略提到Spring 项目的内容,以便更好地论述它们。后笔者还将讲解一些使用频率高、参考价值大的场景,使读者能熟练掌握MyBatis 的开发。
  本书坚持实用原则,对于一些使用频率低的技术并没有提及太多,比如注解SQL、SQL构造器等内容,提及太多只能降低你的可读性。
  感谢我的公司为我提供真实的使用MyBatis 的环境,所有的程序代码都经过了调试。感谢我的姐姐杨坚,她参与编写并通篇审校了本书,润色了那些晦涩的句子。同时也感谢电子工业出版社的编辑们,尤其是汪达文的全程跟进。没有他们的辛苦付出,就没有本书的成功出版。在出版本书的欣喜之余,也伴着战战兢兢,因为笔者才疏学浅,很多东西都是从对源码的理解和实际操作中获得的,因此书中难免有疏漏之处,或有不能让读者满意的地方。如果有困惑,读者可以发邮件到我的邮箱:,也可以在我的博客()中和我讨论,还望各位同行不吝赐教。
  杨开振
  2016 年7 月

抢先评论了 “深入浅出MyBatis技术原理与实战” 取消回复

评论

还没有评论。

相关产品

阅读更多
缺货

大数据之路:阿里巴巴大数据实践

EUR €45.99
阅读更多
缺货

数据挖掘:概念与技术(原书第3版)

EUR €48.99
阅读更多
缺货

MySQL必知必会

EUR €25.99
加入购物车

数据结构教程(C#语言描述)(高等学校数据结构课程系列教材)

EUR €28.99

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略