Mybatis | 初识Mybatis

这篇具有很好参考价值的文章主要介绍了Mybatis | 初识Mybatis。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

初识Mybatis


Mybatis | 初识Mybatis,Mybatis框架,mybatis,数据库,Mysql,Mybatis,Javaee

作者简介 :一只大皮卡丘,计算机专业学生,正在努力学习、努力敲代码中! 让我们一起继续努力学习!

该文章参考学习教材为:
《Java EE企业级应用开发教程 (Spring + Spring MVC +MyBatis)》 黑马程序员 / 编著
文章以课本知识点 + 代码为主线,结合自己看书学习过程中的理解和感悟 ,最终成就了该文章

文章用于本人学习使用 , 同时希望能帮助大家。
欢迎大家点赞👍 收藏⭐ 关注💖哦!!!

(侵权教材方可联系我,进行删除,如果雷同,纯属巧合)


什么是Mybatis?

  • MyBatis当前主流Java持久层框架之一,它与Hibernate一样,也是一种ORM框架。因其性能优异,且具有高度的灵活性可优化性易于维护等特点,所以受到了广大互联网企业的青睐,是目前大型互联网项目首选框架
  • MyBatis (前身iBatis )是一个支持普通SQL查询存储过程以及高级映射持久层框架 ( 即操作数据库框架)MyBatis 消除了几乎所有的 JDBC代码参数的手动设置以及对结果集的检索,并使用简单的XML注解进行配置原始映射,用以将接口 和 Java的POJO ( Plain Old Java Object,普通Java对象)映射成数据库中的记录,使得Java开发人员可以使用面向对象的编程思想操作数据库
  • MyBatis框架也被称之为ORM ( Object/Relational Mapping,即对象关系映射) 框架。所谓的ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象数据库表之间的映射关系,自动将Java应用程序中的对象持久化关系型数据库的表中。
  • ORM框架工作原理如下图所示 :
    Mybatis | 初识Mybatis,Mybatis框架,mybatis,数据库,Mysql,Mybatis,Javaee
    从上图可以看出,使用ORM框架后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象( Persisent Object, PO),而ORM框架则会通过映射关系将这些面向对象操作换成底层的SQL操作
  • 常见的 ORM对象关系映射框架有 : HibernateMyBatis

Hibernate 和 MyBatis的区别?

  • Hibernate :
    是一个 全表映射的框架。通常开发者只需定义好持久化对象数据库表映射关系,就可以通过Hibernate提供的方法完成持久层操作。开发者并不需要熟练地掌握SQL语句的编写Hibernate会根据制定的存储逻辑,自动的生成对应的SQL,并调用 JDBC 接口来执行,所以其开发效率会高于MyBatis
    ( Hibernate 优点 : Hibernate开发效率高于Mybatis )

  • 然而Hibernate自身也存在着一些 缺点, 例如 它在多表关联时,对SQL查询支持较差② 更新数据时,需要发送所有字段 不支持存储过程; 不能通过优化SQL来优化性能等。这些问题导致Hibernate只适合在场景不太复杂对性能要求不高项目中使用
    ( Hibernate 缺点 : 只适合在常见不太复杂 且对性能要求不高项目中使用 )


  • MyBatis :

    是一个 半自动映射的框架。这里所谓的“半自动"是相对于Hibernate全表映射而言的,MyBatis 需要手动匹配提供POJO (普通java对象 )、SQL映射关系,而Hibernate 只需提供 POJO映射关系 即可。

  • Hibernate 相比,虽然使用MyBatis 手动编写sql语句要比使用Hibernate的工作量大,但是 MyBatis可以配置动态SQL优化SQL它还支持存储过程 等。对于一些复杂的和需要优化性能的项目来说,使用MyBatis更加合适
    ( MyBatis优点 : 适合在常见不太复杂 且对性能要求不高项目中使用,实际开发中,更倾向于使用Mybatis操作数据库 )

Mybatis的下载和使用

  • 使用Mybatis框架很简单,只需在 应用程序中引入Mybatis的核心包Mybatis的依赖包 (lib目录中的依赖包)即可

    Mybatis框架网址 : https://github.com/mybatis/mybatis-3/releases

    Mybatis | 初识Mybatis,Mybatis框架,mybatis,数据库,Mysql,Mybatis,Javaee


    Mybatis | 初识Mybatis,Mybatis框架,mybatis,数据库,Mysql,Mybatis,Javaee


    Mybatis | 初识Mybatis,Mybatis框架,mybatis,数据库,Mysql,Mybatis,Javaee

    lib目录下的详细Jar包内容 如下:

    Mybatis | 初识Mybatis,Mybatis框架,mybatis,数据库,Mysql,Mybatis,Javaee

  • Mybatis网址 (可下载Mybatis核心包 和 Mybatis的依赖包)
    获得Mybatis核心包 和 Mybatis的依赖包 (百度网盘)
    jar包 / maven( 依赖 ) 下载( 可自行按需下载JAR )

    注意 :
    如果底层采用的是MySQL数据库,那么还需要将MySQL数据库的驱动JAR包添加到应用程序的径中;如果采用其他类型的数据库,则同样需要将对应类型的数据库驱动包添加到应用程序的类路径中。

Mybatis的工作原理

MyBatis框架操作数据库 时,大体经过了 8个步骤
Mybatis | 初识Mybatis,Mybatis框架,mybatis,数据库,Mysql,Mybatis,Javaee

  • 第一步、
    读取 Mybatis配置文件 (mybatis-config.xml ) :
    mybatis-config.xml 作为
    MyBatis
    全局配置文件,配置了MyBatis的 运行环境 等信息,配置文件 其中主要内容获取数据库连接

  • 第二步、
    加载
    映射文件 (Mapper.xml ) :
    Mapper.xml文件SQL映射文件该文件中配置了操作数据库SQL语句需要在mybatis-config.xml中加载才能执行mybatis-config.xml可以加载多个配置文件,每个配置文件对应数据库中一张表

  • 第三步、
    构造
    会话工厂 (SqlSessionFactory) : 通过MyBatis环境等配置信息构建会话工厂SqlSessionFactory

  • 第四步、
    构造 会话对象 (SqlSession) :由会话工厂创建SqlSession对象对象 (SqlSession) 中包含了执行SQL的所有方法

  • 第五步、
    Executor执行器 : MyBatis底层定义了一个Executor接口操作数据库,它会根据SqlSession传递的参数动态地生成需要执行的SQL语句,同时负责查询缓存维护

  • 第六步、
    MappedStatement对象 : 在Executor接口执行方法中,包含一个MappedStatement 类型参数,该参数是对映射信息封装,用于存储要映射的SQL语句id参数等。Mapper.xml文件中一个SQL对应一个MappedStatement对象,SQL的 id 即是MappedStatement 的 id

  • 第七步
    输入映射 (Map、List类型、String、Integer等基本数据类型、POJO类型) : 在执行方法时,MapedStatement对象会对用户执行SQL语句的输入参数进行定义 (可以定义MapList 类型、基本类型POJO类型),Executor执行器会通过MappedStatement对象在执行SQL前,将输入的Java对象映射到SQL语句中。这里对输入参数映射过程就 类似于 JDBC 编程中对 preparedStatement对象设置参数过程

  • 第八步、
    输出映射 (Map、List类型、String、Integer等基本数据类型、POJO类型) : 在数据库执行完SQL语句后MappedStatement 对象会对SQL执行输出的结果进行定义 (可以定义为MapList类型、基本类型POJO类型),Executor执行器会通过MappedStatement对象在执行SQL语句后,将输出结果映射Java对象中。这种将输出结果映射到 Java对象的过程就类似于JDBC编程中对结果的解析处理过程文章来源地址https://www.toymoban.com/news/detail-831899.html

到了这里,关于Mybatis | 初识Mybatis的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 认识 MyBatis + MyBatis如何使用 (MyBatis操作数据库)

    本篇介绍了什么是MyBatis,MyBatis的前期配置,MyBatis操作数据库的两种方式:.xml文件 / 注释,使用MyBatis的一些注意,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 MyBatis(ORM: 对象关系映射框架): 一个持久层框架,也是一个工具实现程序与数据库交互,

    2024年02月14日
    浏览(56)
  • MyBatis操作数据库

    MyBatis 是⼀款优秀的 持久层框架 ,它⽀持⾃定义 SQL、存储过程以及⾼级映射。MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接⼝和 Java POJO(Plain Old Java Objects,普通⽼式 Java 对象)为数据库中的

    2024年02月16日
    浏览(52)
  • MyBatis查询数据库

    1.定义 :         MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。         MyBatis去除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。         MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和Java POJO (Plain Old Java

    2024年02月04日
    浏览(39)
  • MyBatis查询数据库(2)

    目录 前言🍭 一、增删查改操作🍭 1、查🍉 Ⅰ、mapper接口:🍓 Ⅱ、UserMapper.xml 查询所有用户的具体实现 SQL:🍓 Ⅲ、进行单元测试🍓 2、增、删、改操作🍉 Ⅰ、增🍓 添加用户🍒 添加用户并且返回自增 id🍒 Ⅱ、改🍓 根据id修改用户名🍒 开启 MyBatis sql 日志打印🍒 Ⅲ、

    2024年02月16日
    浏览(45)
  • MyBatis查询数据库(1)

    ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客 经过前⾯的学习咱们 Spring 系列的基本操作已经实现的差不多了,接下来,咱们来学习更重要的知识,将前端传递的数据存储起来,或者查询

    2024年02月15日
    浏览(73)
  • MyBatis操作数据库实现

    说明:MyBatis是作用于三层架构开发,数据访问层(Data Access Object)的框架,用于访问数据库,对数据进行操作。 首先,创建一个SpringBoot模块,然后把MyBatis的环境搭建起来。因为MyBatis是作用于Dao层的,故先省去Service层,重点关注Dao层中与数据库的交流。 (1)创建Springboot模

    2024年02月08日
    浏览(54)
  • MyBatis查询数据库(4)

    ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客 终于到了MyBatis最后一篇,这篇讲的是 动态SQL的使用。 动态 SQL 是Mybatis的强大特性之⼀,能够完成不同条件下不同的 SQL 拼接。 可以参考官

    2024年02月14日
    浏览(55)
  • MyBatis查询数据库(3)

    ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客 前面我们讲解了MyBatis增删改查基本操作,下面我们来深入了解MyBatis其中不同和需要注意的地方。 下面我们来实现⼀下根据用户 id 查询用户

    2024年02月14日
    浏览(48)
  • 【Java】Mybatis查询数据库

    经过前面的学习Spring系列的操作已经差不多了,接下来我们继续学习更加重要的知识,将前端传递的参数存储起来,或者查询数据库里面的数据 MyBatis是款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis几乎祛除了所有的JDBC代码以及设置参数和获取结果集

    2024年01月18日
    浏览(59)
  • 超细详解MyBatis操作数据库(1)

    MyBatis 是⼀款优秀的持久层框架,它⽀持⾃定义 SQL、存储过程以及⾼级映射。 MyBatis 去除了几乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接⼝和 Java POJO(Plain Old Java Objects,普通⽼式 Java 对象)为数据库中的

    2024年02月04日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包