MyBatis--概述

1、简介

  • 支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的XML注解配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

在这里插入图片描述
在这里插入图片描述

2、官网

3、特点

  • Mybatis:
    • 1) 支持自定义SQL、存储过程、及高级映射
    • 2) 实现自动对SQL的参数设置
    • 3) 实现自动对结果集进行解析和封装
    • 4) 通过XML或者注解进行配置和映射
    • 5) 实现Java对象与数据库表的映射转换
  • 可以发现,MyBatis是对JDBC进行了简单的封装帮助用户进行SQL参数的自动化映射,以及结果集与Java对象的映射。与Hibernate相比,更加配置简单、灵活、执行效率高。但是正因为此,所以没有实现完全自动化,需要手写SQL,这是优点也是缺点。
  • 因此,对性能要求较高的电商类项目,一般会使用MyBatis,而对与业务逻辑复杂,对执行效率要求不高的传统行业,一般会使用Hibernate

4、架构

在这里插入图片描述

1.MyBatis有两类配置文件:

  • a) mybatis-config.xml,是MyBatis的全局配置文件,包含全局配置信息,如数据库连接参数、插件等。整个框架中只需要一个即可。
  • b) xxxMapper.xml,是映射文件,里面配置要执行的SQL语句,每个SQL对应一个Statement,可以有多个Mapper.xml文件

2.首先会通过SqlSessionFactoryBuilder来加载配置文件,生成一个SqlSessionFactory

  • a) 会加载mybatis-config.xml和mapper.xml
  • b) 加载mapper.xml的时候,顺便会对Sql进行编译,形成statement

3.通过SqlSessionFactory建立连接,获取SqlSession对象

4.MyBatis获取要执行的statement,进行自动参数设置

5.SqlSession底层会通过Executor(执行器)来执行编译好的Statement,获取结果

6.SQL的输入参数类型:

  • a) POJO,普通Java对象
  • b) HashMap,其实是POJO的Map形式, 键值对就是对象字段名和值z
  • c) 各种基本数据类型

7.查询结果的输出形式

  • a) POJO,普通Java对象
  • b) HashMap,其实是POJO的Map形式, 键值对就是对象字段名和值
  • c) 各种基本数据类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值