当前位置: 首页 > news >正文

第9章 Mybatis

9.1 谈谈你对Mybatis的理解

难度:★★

重点:★★

白话解析

说清楚Mybatis是什么,它的工作流程,然后再对比一下Hibernate就好了。

1、Mybatis是什么:它一个半自动ORM框架,它底层把JDBC那套加载驱动、创建连接、创建statement等重复性的硬编码全部给你封装好了,程序员只需要关注业务SQL就行了,不需要自己去重新写JDBC那套代码。它支持定制化的SQL、存储过程以及高级映射。

MyBatis 使用XML或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了JDBC代码手动设置参数以及获取结果集的繁琐步骤。

2、工作流程:

  • 第一步:要知道连哪个数据库——读取MyBatis配置文件(mybatis-config.xml),这个配置文件就是配置一些全局信息的,例如数据库的连接啊、类型的别名啊、插件啊等。

  • 第二步:要知道执行哪些SQL——加载乱七八糟的XXXMapper.xml文件。

  • 第三步:Java操作数据库肯定封装了Java对象的,这些对象要通过工厂去创建——构造会话工厂,通过SqlSessionFactoryBuilder().build方法创建SqlSessionFactory。

  • 第四步:由会话工厂创建SqlSession对象,该对象中包含了执行SQL语句的所有方法。

  • 第五步:在执行SqlSession的时候,底层定义了一个Executor接口来操作数据库,他将根据SqlSession传递的参数动态的生成需要执行的SQL

http://www.lryc.cn/news/181040.html

相关文章:

  • 隐蔽通信论文复现
  • 《Vue.js+Spring Boot全栈开发实战》简介
  • 机器人中的数值优化(二十)——函数的光滑化技巧
  • 搭建全连接网络进行分类(糖尿病为例)
  • 【小沐学前端】Node.js实现基于Protobuf协议的UDP通信(UDP/TCP)
  • Verasity Tokenomics — 社区讨论总结与下一步计划
  • JUC第十三讲:JUC锁: ReentrantLock详解
  • WSL2安装历程
  • Ubuntu20配置Mysql常用操作
  • 【解决方案】‘create’ is not a member of ‘cv::aruco::DetectorParameters’
  • 门牌制作(蓝桥杯)
  • 支付宝支付模块开发
  • 12、Kubernetes中KubeProxy实现之iptables和ipvs
  • 从0开始python学习-29.selenium 通过cookie信息进行登录
  • CentOS安装OpenNebula(二)
  • 力扣第239题 c++滑动窗口经典题 单调队列
  • 华为云云耀云服务器L实例评测|华为云云耀云服务器docker部署srs,可使用HLS协议
  • jira流转issue条目状态transitions的rest实用脚本,issue状态改变调整
  • JAVA 注解
  • C++面试题准备
  • 使用Java操作Redis
  • VRRP配置案例(路由走向分析,端口切换)
  • 【图像处理】【应用程序设计】加载,编辑和保存图像数据、图像分割、色度键控研究(Matlab代码实现)
  • 05. 机器学习入门 - 动态规划
  • 【JVM】第五篇 垃圾收集器G1和ZGC详解
  • 嵌入式Linux应用开发-基础知识-第十九章驱动程序基石⑤
  • 数据分析技能点-独立性检验拟合优度检验
  • 了解汽车ecu组成
  • 用AI原生向量数据库Milvus Cloud 搭建一个 AI 聊天机器人
  • 【OpenCV-Torch-dlib-ubuntu】Vm虚拟机linux环境摄像头调用方法与dilb模型探究