MyBatis基础

MyBatis简介

MyBatis概述

  1. 什么是MyBatis
    MyBatis 是一个优秀的Java持久层框架,由apache的ibatis演变而来,它通过XML或注解方式将对象与SQL关联起来,实现了对JDBC操作的封装,简化JDBC代码手动设置参数和手动进行结果集映射的过程。

  2. MyBatis 应用场景
    MyBatis主要应用于Java技术生态项目中解决持久层的数据库操作问题,例如:行映射,参数映射等。

  3. MyBatis 应用优势
    3.1、可以更好的实现java代码与SQL语句的分离,提高可维护性
    3.2、通过动态SQL可以更灵活的适配需求的变更
    3.3、通过SQL映射简化了JDBC代码中的SQL参数及结果集处理。
    3.4、合理的架构设计,提高了系统的稳定性和可扩展性。

  4. MyBatis的劣势
    4.1、SQL语句编写的工作量相对较大(与hibernate框架对比)。
    4.2、相比JDBC,执行SQL语句较慢;但比hibernate框架执行SQL语句内存消耗较小。
    4.3、SQL语句依赖于数据库,移植性相对较差,不能随意更换数据库。

MyBatis架构体系

  1. MyBatis应用架构

MyBatis底层实现了对JDBC的封装,MyBatis使用位置介于应用程序与JDBC API之间。

在这里插入图片描述

  1. MyBaits产品架构
    对于任何一个持久层框架,都应该具备接口服务、数据处理服务、基础服务等相关功能。MyBatis也不例外,它的架构如下:
    在这里插入图片描述
    其中:
    2.1、接口层:主要负责对外提供应用服务
    程序中我们直接使用Mybatis接口实现对数据库的CRUD操作
    2.2、数据处理层:主要负责处理数据访问问题
    1)、SQL参数映射(#{}表达式映射)
    2)、SQL解析(语法、语义)
    3)、SQL执行(将sql发送到数据库端执行)
    4)、SQL结果映射(将ResultSet的数据存到map或者pojo对象)
    5)、其他…

2.3、基础服务层
1)、连接服务(配置连接池)
2)、事务服务(保证数据的原子性,一致性,隔离性,持久性)
3)、缓存服务(更好的提高查询性能)
4)、配置服务(别名设置、映射配置、日记配置等等)
5)、其他…

  1. MyBaits API架构
    MyBatis核心配置文件以及API如下所示:
    在这里插入图片描述

3.1、MyBatis的核心文件
1)、配置文件(例如:mybatis-configs.xml)
该文件提供MyBatis的基本配置(例如连接配置、缓存配置、映射配置)
2)、映射文件(例如xxxMapper.xml)
该文件定义SQL映射,实现ORM

3.2、MyBatis的核心API
1)、SqlSessionFactoryBuilder
负责读取配置文件,创建SqlSessionFactory工厂对象
2)、SqlSessionFactory
负责创建SqlSession对象
3)、SqlSession
负责连接的维护,事务的处理,类似JDBC中的connection

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值