【MyBatis】一、概述

news2025/10/28 7:19:58

框架

框架就是对通用代码的封装,提前写好了一堆接口和类,我们可以在做项目的时候直接引入这些接口和类,基于这些现有的接口和类进行开发,提高开发效率。
框架一般以jar包形式存在

三层架构

在这里插入图片描述
表现层(UI):直接和前端打交互(1是接收前端ajax请求 2是返回json数据给前端)
业务逻辑层(BLL):一是处理表现层转发过来的前端请求(也就是具体业务),而是从持久层获取的数据返回到表现层。
数据访问层(DAL):直接操作数据库完成CRUD,并将获得的数据返回到上一层(也就是BLL)
MyBatis是持久层框架,它替代了之前的JDBC,它底层就是JDBC。

JDBC的不足

1.sql语句写死在java程序中,违反OCP原则,业务扩展需要重新编译之前的代码
2.赋值繁琐(没有实现自动化),重复代码多

了解MyBatis

mybatis本质上就是对JDBC的封装,通过mybatis完成CRUD

ORM:对象 关系 映射
O:(object)Java虚拟机中的Java对象
R:(Relational) 关系型数据库
M:(Mapping) 将JAVA虚拟机中的Java对象映射到数据库表中一行记录,或者反过来
在这里插入图片描述
MyBatis属于半自动化ORM框架

特点

支持定制化SQL,存储过程、基本映射以及高级映射
避免了所有JDBC中手动设置参数以及获取结果集
支持XML开发和注解式开发
将接口和Java的POJOS映射成数据库中的纪录
体积小
完全做到解耦合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/33472.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字化助力生产管理:计件工资管理系统

目前因市场经济的发展,企业为求发展同时为防止消极怠工的情况,常把员工工资与产量结合起来。为了增加工人的劳动积极性,秉持多劳多得的科学管理理念,许多生产类型企业均实现了计件工资制。所谓的计件工资制是指按照生产的合格品的…

python之opencv人脸识别快速体验

目录 1、灰度转换 2、引用opencv官方提供的人脸训练模型 3、绘制方框(用于框住人脸) 4、效果及完整代码: 5、检测多张人脸: 学习链接: 1、灰度转换 # 灰度转换gary cv.cvtColor(img,cv.COLOR_BGR2GRAY) 2、引…

图解:Elasticsearch 8.X 如何求解环比上升比例?

1、企业级Elasticsearch 8.X 实战问题 问题描述:有个聚合的需求,问下大家,一个索引中有时间字段 要求 计算本月和上月相比的环比上升比例?——来自GPVIP群 2、问题释义 2.1 啥叫环比? 环比是统计学术语&#xff0c…

LabVIEW使用Deskto pExecution Trace工具包

LabVIEW使用Deskto pExecution Trace工具包 可以使用桌面执行跟踪工具包来调试和优化大型LabVIEW应用程序,包括具有多个循环的应用程序、客户端-服务器架构、动态加载VI等。该工具包从本地或远程计算机桌面上运行的应用程序捕获执行事件,并在表窗格中显…

PCB layout有DRC为什么还要用CAM和DFM检查?

随着电子产品的高速发展,PCB生产中大量使用BGA、QFP、PGA和CSP等高集成度封装器件,PCB的复杂程度也大大增加,这对于PCB设计也提出了更高的要求。所以在PCB设计阶段,除了基础的电气性能之外,还需要考虑可制造性&#xf…

上游模式用于实验室用冷冻机压力和真空度的高精度控制

摘要:本文针对实验室用冷冻干燥机的真空度控制,提出了干燥过程中的真空度精密控制解决方案。解决方案主要是采用双真空计(电容真空计和皮拉尼真空计)测量干燥过程中的真空度变化,双通道PID真空度控制器一方面采集电容真…

MySQL数据库:2、MySQL的下载与安装、基本使用、系统服务制作

一、MySQL简介 ​ MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 二、安装与下载 1、下载流程 1、访问官方(www.mysql.com&#xf…

数据结构学习笔记(Ⅲ):栈和队列

目录 1 栈 1.1 栈的基本概念 1.定义 2.基本操作 ​1.2 栈道顺序存储实现 1.实现 2.基本操作 3.共享栈 1.3 栈的链式存储实现 2 队列 2.1 基本概念 1.定义 2.基本操作 2.2 队列的顺序实现 1.实现 2.基本操作 2.3 队列的链式实现 1.链式存储实现队列 2.基本操…

Selenium基础 —unittest单元测试框架

目录 (一)unittest基本简介 (二)unittest基本概念 1、unittest核心的四个概念 2、如何创建一个测试类 3、test fixture常用的四个方法 4、unittest编写测试方法(用例)规范 5、执行测试脚本 6、入门示例 7、结果说明 &am…

目标检测论文解读复现之十七:融合注意力机制的YOLOv5口罩检测算法

前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文&#xff0…

视频格式转换器下载哪个好?分享:3种TS到MP4的转换器

对于TS视频格式大家可能接触的比较少,我们先来认识下TS视频格式。 TS是日本高清摄像头拍摄下的视频格式,常用于记录实录片段,比如讲堂、演唱会、监控等等。TS和MP4不同的地方在于TS是一种抢先非高清版视频,其画质并不如MP4&#x…

华为十年架构师实战经验总结:大规模分布式系统架构与设计实战

前言 本篇是从程序员到首席架构师十多年职业生涯的实战经验总结,系统讲解构建大规模分布式系统的核心技术与实现方法,包含开源的Fourinone系统的设计与实现过程,手把手教你掌握分布式技术。 通过学习这个系统的实现方法与相关的理论&#x…

Investment Guide|Star Investors: X METAVERSE PRO‘s Copy Trading System

With the globalization of finance, people around the world are more keenly aware of the role of finance. When financial investment has become a social trend, “how to effectively use every penny and grasp every investment opportunity in a timely manner” h…

SpringCloud - 服务调用

文章目录1. LB负载均衡(Load Balance)2. Ribbon负载均衡服务调用2.1 Ribbon负载均衡演示2.1.1 架构2.1.2 POM2.1.3 RestTemplate操作2.2 Ribbon核心组件IRule2.3 负载均衡规则替换2.4 Ribbon负载均衡算法2.4.1 原理2.4.2 手动实现负载均衡3. OpenFeign服务调用3.1 OpenFeign使用…

[Spring Boot]09 Spring Boot集成和使用Redis

目录前言Spring Boot如何集成RedisSpring Boot如何使用Redis小结前言 Redis全称Remote Dictionary Server(远程字典服务),它是一个基于内存实现的键值型非关系(NoSQL)数据库,由意大利人 Salvatore Sanfilip…

Python 基础(二):搭建 Python 开发环境

搭建 Python 开发环境一、下载 Python 安装包二、安装 Python三、Python开始菜单介绍3.1 IDLE3.2 Python 3.113.3 Python 3.11 Manuals3.4 Python 3.11 Manuals Docs四、Hello World大家好,我是水滴~~ 本篇文章主要介绍如何搭建 Python 的开发环境,主要内…

Eolink钉钉webhook使用教程(超详细)

目录 一、操作步骤 1、空间管理 2、添加服务调用 3、填写添加Webhook信息 4、获取DingDing通知URL 1、需要创建一个至少三个人的群 2、需要添加一个群机器人。 3、选择智能群助手 4、添加机器人 5、点击设置 6、选择【自定义】通过Webhook接入自定义服务 7、确认添…

多元统计分析-----例8.1:今有14名学生的身高和体重数据,做相关图以显示相关变量间的关系。

例8.1:今有14名学生的身高和体重数据,做相关图以显示相关变量间的关系。 x1c(147,171,175,159,155,152,158,154,164,168,166,159,164,177) x2c(32,57,64,1,38,35,44,41,54,57,49,47,46,63)plot(x1,x2,xlim c(145,180),ylimc(25,75))出错: …

Android进阶:6、使用okhttp下载图片

因为在网上找到的资源不只是一些字符串或是一些二进制数字,还是有的是可以肉眼看见的图片,那么我们在发送网络请求时拿到的是一张图片该如何显示在组件上面呢? 这就要使用到okhttp的请求返回结果的一个属性(byteStream&#xff0…

自动驾驶感知算法实战14——感知算法模型生产线

自动驾驶感知算法实战专栏:https://blog.csdn.net/charmve/category_12097938.html目录 一、感知算法生产流程二、算法模型部署流程二、各个阶段交付物数据选择(数据采集、数据增强)数据标注模型训练模型量化模型部署测试与验证一、感知算法生产流程 二、算法模型部署流程 二…