1. MyBatis框架介绍
1. 框架概述
程序开发中框架(framework)往往是对常见功能的封装,可以把框架理解为软件的设计规范或者标准化的组件,好比机械中的螺丝螺母等标准的机械部件
假如你要造一辆兰博基尼,在没有框架的情况下,你需要自己去烧锅炉炼钢,然后组成轮子、门、座椅等部件,然后组装起来。但如果你用了框架,就相当于你有现成的轮子、门、座椅等部件,你只需要组装一下就可以了。
一个框架是一组可复用的设计构件
框架(Framework)是整个或者部分系统的可重用设计,是JavaEE底层技术的封装
框架是可以被开发者定制的应用骨架
框架是一个半成品,软件是成品。我们在它的基础上开发出成品
框架解决的问题
-
解决了技术通用的问题
在JavaEE体系中,有着各种各样的技术。不同的软件企业,根据自身的业务需求选择不同的技术,容易造成应用依赖技术,增加了项目开发实现的复杂性和技术风险性。企业项目中应该将应用的设计与实现技术解耦
-
提升了开发效率
企业项目中使用框架,只需要专注实现业务需求。使用框架的方便性,提升了开发效率
-
提升了系统稳定性
一个成熟的框架,经过了在众多企业项目中的验证使用,稳定性有保障
2. 项目的三层架构
没有使用三层架构的场景
生活中的分成架构
小公司:所有的办公区域在一起
大公司:分层明确
三层架构的作用
一个中大型软件开发需要有明确分层
层 | 作用 |
---|---|
表示层 View | 面向客户,处理客户的输入和输出。前端代码 |
业务层 Service | 处理业务逻辑的代码,如:登陆、注册、支付 |
数据访问层 DAO Data Access Object | 面向数据库,提供增删改查的功能,也叫持久层 |
分层的方式
分层包 | 功能描述 |
---|---|
com.view | 表示层 |
com.service | 业务层 |
com.dao | 数据访问层 |
三层架构的优缺点
-
优点
-
降低了代码的耦合度,降低类与类之间关系。有利于团队的开发 -
项目的可扩展性更好 3. 可维护性更好 4. 可重用性更好,同一个方法可以由多个类去调用
-
缺点
-
执行效率更低 -
开发工作量更大 -
会导致级联的修改,如果修改一个功能,导致三层都要进行修改
3. MyBatis框架介绍
MyBatis历史
MyBatis官网:http://www.mybatis.org/mybatis-3/,
框架包下载地址:https://github.com/mybatis/mybatis-3/releases
MyBatis是Apache软件基金会下的一个开源项目,前身是iBatis框架。
2010年这个项目由apache 软件基金会迁移到google code下,改名为MyBatis
2013年11月又迁移到了GitHub(世界上最大的开源网站)
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射
优点:
-
简单易学:Mybatis本身就很小且简单,没有任何第三方依赖,最简单安装只要两个jar文件+配置几个SQL映射文件即可 (一般额外加一个jar包: log4j , 主要打印日志的) -
使用灵活:Mybatis不会对应用程序或者数据库的现有设计强加任何影响。SQL语句写在XML里,便于统一管理和优化。(和Hibernate相比) -
解除SQL与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易进行单元测试。SQL语句和代码的分离,提高了可维护性
缺点:
-
编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此 -
SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库 -
框架还是比较简陋,功能尚有缺失,二级缓存机制不佳
MyBatis的ORM方式
Object Relational Mapping 对象关系映射
“
mybatis会将结果集中的每一条记录 映射 成 java的一个实体类对象 (反射)
”
MyBatis的两种映射方式:
-
通过XML映射 -
通过注解
原文始发于微信公众号(海洋的渔夫):1. MyBatis框架介绍
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/33644.html