2021-11-14

MyBatis学习笔记

 

1.Mybatis 简介
MyBatis 本是 apache 的一个开源项目 iBatis , 2010 年这个项目由 apache software foundation 迁移到了 google code,并且改名为 MyBatis 2013 11 月迁移到 Github
iBATIS 一词来源于 “internet” “abatis” 的组合,是一个基于 Java 持久层 框架。 iBATIS 提供的持久层框 架包括SQL Maps Data Access Objects DAOs )。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL 、存储过程以及高级映射。 MyBatis 避免了几乎 所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis 可以使用 简单的 XML 注解来配置 和映 射原生信息,将接口和 Java POJOs(Plain Ordinary Java Object, 普通的 Java 对象 ) 射成数据库中的 记录。可以根据配置将数据库的数据和Java对象进行映射关联。
1.1. 特点
简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个 jar 文件 + 配置几个 sql
映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
灵活: mybatis 不会对应用程序或者数据库的现有设计强加任何影响。 sql 写在 xml 里,便于统一
管理和优化。通过 sql 语句可以满足操作数据库的所有需求。
解除 sql 与程序代码的耦合:通过提供 DAO 层,将业务逻辑和数据访问逻辑分离,使系统的设计更
清晰,更易维护,更易单元测试。 sql 和代码的分离,提高了可维护性。
提供映射标签,支持对象与数据库的 orm 字段关系映射
1.2.ORM
ORM Object Relation Mapping 的缩写。翻译过来:对象关系映射。
对象关系映射是指,在 Java 程序中,进行数据访问时, Java 程序一般都会为数据中数据创建实体类。由
于,数据库中一般使用表存储数据,而创建的实体类,里面包含的都是表的属性字段。即一个实体类对
应一张表,表中的每条数据,则又是实体类的一个具体对象。这种映射关系,就被称之为 ORM 映射。
ORM 框架中,崇尚以对象的模式操作数据。数据和对象其实类似于进行绑定,当修改对象时,自然修 改具体的实际数据。最典型的ORM 框架: Hibernate 。无需编写任何 SQL 语句,可以实现对数据库的意CRUD 操作。 但是这种方式,效率比较低,因为实现原理,是框架自身,根据需要操作的数据库,及目前用户需求的 API自动的生成 SQL 语句。这种方式,降低对开发人员的数据库的要求,但是 SQL 是程序生成,无法干 预,即无法进行优化。 个人不太喜欢Hibernate 框架,原因:它太强大了。它都能帮你完成。比较笨重。
1.3. 市面主流的 ORM 框架:
Hibernate : 全自动的 ORM 框架。封装严格。
Mybatis: 半自动的 ORM 框架。半封装,可以更好的自定义。
Spring DATA JPA: 类似于 Hibernate
注意:
市面上 ORM 框架很多,但是最受程序员推崇的是 Mybatis 。因为 Hibernate 在处理数据量,频率高的业 务场景时,存在瓶颈,且不易突破。而Mybatis 可以认为定制 SQL 语句,可以更好的优化。且轻便,只 需要导入一个jar 包即可。
2. 框架出现的意义
2.1. 什么是开发框架?
LayUI 前端开发框架, JDK Java 最核心最强大的开发框架。
框架:框架就是按照某种需求,搭建的框子。后续相关的操作,都在框子范围中进行。
开发框架:为了更好的进行开发,对程序进行封装和规范,使使用者,在框架中,可以更好的进行开 发。
2.2. 开发框架的意义?
框架不一定提高了开发效率,也不一定提高了程序的性能。但是,框架本身作为一个规范,具有的统一 的API 。 使用框架进行开发,那么就必须遵循框架的规范。这样,在一定程度上,统一了代码的结构和开发规 范。便于维护。
例如:
数据库操作。 BaseDao : 每个人的 BaseDao 的标准不一样。这样虽然都能完成对数据库的数据
操作。但是具体的实际过程是存在很大差异,不便于维护。代码标准不一样,作为人员流动性比较大的 行业,对于新人而言,可能需要重新学习,耗费时间和资源。且没有太大的价值。
并且,越是庞大的项目,规范就越是重要。使用框架的必要性也越重。
3.Mybatis 框架的使用
官方中文文档: https://mybatis.org/mybatis-3/zh/index.html
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值