- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
r
e
t
p 第 1 章
a
h MyBatis 快速入门
1c
1.1 ORM 简介
面向对象程序设计是企业级开发常用的设计方式,我们在实践中常用的编程语言,如
Java 、.Net、C++等,都是面向对象的编程语言。在实际生产环境中常用的数据库产品,如MySQL 、
Oracle 等,则都是关系型数据库。虽然NoSQL 数据库,如HBase 、MongoDB 、Couchbase 等,
在最近一段时间有了飞速的发展,也有一部分互联网应用开始尝试使用 NoSQL 数据库管理其
部分数据,但是关系型数据库凭借多年的发展和技术积累,以及众多成功的案例等优势,依然
占据着市场的主要地位。
在系统开发过程中,开发人员需要使用面向对象的思维实现业务逻辑,但设计数据库表或
是操作数据库记录时,则需要通过关系型的思维方式考虑问题。应用程序与关系型数据库之间
进行交互时,数据在对象和关系结构中的表、列、字段等之间进行转换。
JDBC 是Java 与数据库交互的统一API ,实际上它分为两组API ,一组是面向Java 应用程
序开发人员的API ,另一组是面向数据库驱动程序开发人员的API 。前者是一个标准的Java API
且独立于各个厂家的数据库实现,后者则是数据库驱动程序开发人员用于编写数据库驱动,是
前者的底层支持,一般与具体的数据库产品相关。
在实际开发Java 系统时,我们可以通过JDBC 完成多种数据库操作。这里以传统JDBC 编
程中的查询操作为例进行说明,其主要步骤如下:
(1)注册数据库驱动类,明确指定数据库URL 地址、数据库用户名、密码等连接信息。
(2 )通过DriverManager 打开数据库连接。
2 │ MyBatis 技术内幕
(3 )通过数据库连接创建Statement 对象。
(4 )通过Statement 对象执行SQL 语句,得到ResultSet 对象。
(5 )通过ResultSet 读取数据,并将数据转换成JavaBean 对象。
(6 )关闭ResultSet 、Statement 对象以及数据库连接,释放相关资源。
上述步骤 1~步骤4 以及步骤6 在每次查询操作中都会出现,在保存、更新、删除等其他
数据库操作中也有类似的重复性代码。在实践中,为了提高代码的可维护性,可以将上述重复
性代码封装到一个类似DBUtils 的工具类中。步骤5 中完成了关系模型到对象模型的转换,要
使用比较通用的方式封装这种复杂的转换是比较困难的。
为了解决该问题,ORM (Object Relational Mapping ,对象-关系映射)框架应运而生。如
图1-1 所示,ORM 框架的主要功能就是根据映射配置文件,完成数据在对象模型与关系模型之
间的映射,同时也屏蔽了上述重复的代码,只暴露简单的API 供开发人员使用。
Java程序 映射配置文件 数据库
图1-1
另外,实际生产环境中对系统的性能是有一定要求的,数据库作为系统中比较珍贵的资源,
极易成为整个系统的性能瓶颈,所以我们不能像上述JDBC 操作那样简单粗暴地直接访问数据
库、直接关闭数据库连接。应用程序一般需要通过集成缓存、数据源、数据库连接池等组件进
行优化,如果没有ORM 框架的存在,就要求开发人员熟悉相关组件的API 并手动编写集成相
关的代码,这就提高了开发难度并延长了开发周期。
很多 ORM 框架都提供了集成第三方缓存、第三方数据源等组件的接口,而且这些接口都
是业界统一的,开发和运维人员可以通过简单的配置完成第三方组件的集成。当系统需要更换
第三方组件时,只要选择支持该接口的组件并更新配置即可,这不仅提高了开发效率,而且提
高了系统的可维护性。
最后,建议读者在开发大中型项目时,优先考虑使用 OR
您可能关注的文档
最近下载
- 2025年执业药师之西药学专业一模考预测题库(夺冠系列).docx VIP
- ISO 15614-13 2023 金属材料焊接工艺规程及评定 电阻对焊和闪光焊(中文版).pdf
- 过敏性休克抢救指南2025版.docx
- 扩张型心肌病的护理查房课件.pptx VIP
- 第一章 食品工艺学导论.ppt VIP
- 系统性红斑狼疮(共44张PPT).pptx VIP
- 3.1 标志设计 (课件)人教版七年级美术上册.pptx VIP
- genesis2000脚本编写,Perl╱TK常见问答中文版.pdf VIP
- 2024《广西农产品电商物流SWOT-PEST分析及发展策略研究(数据图表论文)》16000字.docx VIP
- 剑桥国际少儿英语KB1第1-12单元文本-(英汉版).pdf VIP
文档评论(0)