一、MyBatis简介:MyBatis历史、MyBatis特性、和其它持久化层技术对比、Mybatis下载依赖包流程

@[toc]

一、MyBatis简介

1.1 MyBatis历史

​ MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁 移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于 2013年11月迁移到Github。 iBatis一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架。 iBatis提供的持久层框架 包括SQL Maps和Data Access Objects(DAO)。

1.2 MyBatis特性

  1. MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架
  2. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
  3. MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录
  4. MyBatis 是一个 半自动的ORM(Object Relation Mapping)框架

1.3 和其它持久化层技术对比

  • JDBC

    • SQL 夹杂在Java代码中耦合度高,导致硬编码内伤
    • 维护不易且实际开发需求中 SQL 有变化,频繁修改的情况多见
    • 代码冗长,开发效率低
  • Hibernate 和 JPA

    • 操作简便,开发效率高
    • 程序中的长难复杂 SQL 需要绕过框架
    • 内部自动生产的 SQL,不容易做特殊优化
    • 基于全映射的全自动框架,大量字段的 POJO 进行部分映射时比较困难。
    • 反射操作太多,导致数据库性能下降
    • 更多Java --大数据 -- 前端 -- UI/UE - Android - 人工智能资料下载,可访问百度:尚硅谷官网(www.atguigu.com)
  • MyBatis

    • 轻量级,性能出色
    • SQL 和 Java 编码分开,功能边界清晰。Java代码专注业务、SQL语句专注数据
    • 开发效率稍逊于HIbernate,但是完全能够接受

1.4 Mybatis下载依赖包流程

先去本地仓库中查找,判断是否有

  • 有,则直接获取

  • 没有,则就去配置文件中查看是否配置镜像网站地址

    • 有,则去镜像网站中下载
    • 没有,则去中央仓库中下载

本人其他相关文章链接

1.一、MyBatis简介:MyBatis历史、MyBatis特性、和其它持久化层技术对比、Mybatis下载依赖包流程 2.二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作) 3.三、MyBatis核心配置文件详解 4.四、MyBatis获取参数值的两种方式(重点) 5.五、MyBatis的增删改查模板(参数形式包括:String、对象、集合、数组、Map) 6.六、MyBatis特殊的SQL:模糊查询、动态设置表名、校验名称唯一性 7.七、MyBatis自定义映射resultMap 8.八、(了解即可)MyBatis懒加载(或者叫延迟加载) 9.九、MyBatis动态SQL 10.十、MyBatis的缓存 11.十一、MyBatis的逆向工程 12.十二、MyBatis分页插件

重要信息

相关推荐
Ao0000003 分钟前
机器学习——主成分分析PCA
人工智能·机器学习
硅谷秋水14 分钟前
Impromptu VLA:用于驾驶视觉-语言-动作模型的开放权重和开放数据
人工智能·机器学习·计算机视觉·语言模型·自动驾驶
TDengine (老段)23 分钟前
TDengine 的 AI 应用实战——运维异常检测
大数据·数据库·人工智能·物联网·时序数据库·tdengine·涛思数据
jndingxin26 分钟前
OpenCV CUDA模块霍夫变换------在 GPU 上执行概率霍夫变换检测图像中的线段端点类cv::cuda::HoughSegmentDetector
人工智能·opencv·计算机视觉
只有左边一个小酒窝32 分钟前
(三)动手学线性神经网络:从数学原理到代码实现
人工智能·深度学习·神经网络
m0_7263658337 分钟前
2025年微信小程序开发:趋势、最佳实践与AI整合
人工智能·微信小程序·notepad++
jndingxin44 分钟前
OpenCV CUDA模块图像处理------图像融合函数blendLinear()
图像处理·人工智能·opencv
机器之心1 小时前
开启 AI 自主进化时代,普林斯顿Alita颠覆传统通用智能体,GAIA榜单引来终章
人工智能
越来越无动于衷1 小时前
若依项目AI 助手代码解析
vue.js·人工智能·elementui·ruoyi
数据与后端架构提升之路2 小时前
深度学习学习率调度器指南:PyTorch 四大 scheduler 对决
人工智能·pytorch·深度学习·调度器