Mybatis 基础知识

目录

一、简介

1、JDK:

2、JRE:

3、JVM:

4、Java SE:

5、Java EE:

6、持久层:

7、轻量级:

8、半自动化:

9、ORM:

10、框架:

二、三层架构

1、业务层(逻辑层、service层)

2、表现层(JSP)

3、持久层(DAO)

4、SSM 框架

三、Mybatis 实现机制

1、读取 Mybatis 的全局配置文件 mybatis_config.xml

2、创建 SqlSessionFactory 会话工厂

3、创建 SqlSession 会话

4、执行查询操作

四、Mybatis 特征

1、Mybatis 是支持定制化 SQl ,存储过程以及高级映射的优秀持久层框架

2、Mybatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集

3、MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(plain OldJava Object),普通的 java 对象映射成数据库中的记录

4、Mybatis 是一个半自动的 ORM(Object Relation Mapping)框架

五、Mybatis 优点

1、Sql 统一管理,对数据库进行存取操作

2、生成动态 Sql语句

3、能够对结果集进行映射

六、maven 的作用

1、依赖管理

2、一键构建项目


     Mybatis是一款用于持久层、轻量级的半自动化、ORM 、框架,封装了所有 JDBC 操作以及设置查询参数和获取结果集的操作,支持自定义 Sql 、存储过程和高级映射

一、简介

1、JDK:

Java Development Kit ,java 软件开放工具包

2、JRE:

Java Runtime Environment , java 运行环境

3、JVM:

Java Virtual Machine ,java 虚拟机

4、Java SE:

Java Stanfard Edition ,java 标准版, 我们通常用的一个版本,从 JDK 5.0开始,改名为 Java SE

5、Java EE:

Java Enterprise Rdition ,Java企业版 使用这种JDK 开发 J2EE应用程序,从 JDK 5.0开始,改名为 Java EE

6、持久层:

持久层的目的就是,完成对象数据和关系数据的转换,使数据不容易丢失

关系数据:Mysql就是关系数据库 radis 非关系数据库

7、轻量级:

指开发过程的敏捷以及快速响应能力,或者在完成相同的运算任务下消耗最少的系统资源

8、半自动化:

对 JDBC 进行了封装,不过将 SQL 的定义工作独立了出来给用户实现,负责完成剩下的SQL解析,处理等工作

9、ORM:

Object Relational Mapping ,直接翻译就是 对象关系映射,半自动化框架

10、框架:

别人写好了包装起来的一套工具,学习目的就是提高项目的编写效率,不用浪费时间在底层代码上,框架用于持久层,和数据库进行交互

二、三层架构

1、业务层(逻辑层、service层)

采用事务脚本模式,将一个业务中所有的操作封装成一个方法,同时保证方法中所有的数据库关系操作,即保证同时成功红火同时失败,避免部分成功部分失败引起的数据混乱操作

2、表现层(JSP)

采用 MVC 模式 M 称为模型,也就是实体类。由于数据的封装和数据的传输 V 为视图,用于数据的展示 C 为控制,用于流程的控制

3、持久层(DAO)

采用 DAO 模式,建立实体类和数据库表映射 (ORM 映射) 持久层,完成对象数据和关系数据的转换

4、SSM 框架

业务层——Spring

表现层——SpringMVC

持久层——MyBatis

三、Mybatis 实现机制

1、读取 Mybatis 的全局配置文件 mybatis_config.xml

mybatis -config.xml 文件包括一系列配置信息,其中包括标签 <mapper> ,此标签配置类映射节点,映射节点内部定义了 SQL 语句。 MYbatis 将SQl 的定义工作独立出来,让用户自定义,而 Sql 的解析,执行等工作由 Mybatis 处理执行

2、创建 SqlSessionFactory 会话工厂

3、创建 SqlSession 会话

4、执行查询操作

四、Mybatis 特征

1、Mybatis 是支持定制化 SQl ,存储过程以及高级映射的优秀持久层框架

2、Mybatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集

3、MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(plain OldJava Object),普通的 java 对象映射成数据库中的记录

4、Mybatis 是一个半自动的 ORM(Object Relation Mapping)框架

五、Mybatis 优点

1、Sql 统一管理,对数据库进行存取操作

2、生成动态 Sql语句

3、能够对结果集进行映射

六、maven 的作用

1、依赖管理

2、一键构建项目

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

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

相关文章

Python和Java及MATLAB和CUDA显微镜导图

&#x1f3af;要点 交互式设备控制和图像处理图像背景和阴影校正可视化萤光团位置算法和读取光学图像读写转换显微镜图像生物医学细胞图像分析荧光图像算法计算亮度数据和模拟表征新型染料和缓冲液强度估计细菌图像分析扫描透射和高分辨率透射图像模拟多模态成像分割可视化透射…

Hive服务部署及Datagrip工具使用

目录 Hive服务部署 Hiveserver2服务 1&#xff09;用户说明 2&#xff09;Hiveserver2部署 &#xff08;1&#xff09;Hadoop端配置 &#xff08;2&#xff09;Hive端配置 3&#xff09;测试 &#xff08;1&#xff09;启动Hiveserver2 &#xff08;2&#xff09;使用命…

深入学习电路基础:从理论到实践

引言 电路是电子学的核心&#xff0c;也是现代科技的基石。从简单的灯泡开关到复杂的计算机处理器&#xff0c;电路在各类电子设备中都起到了至关重要的作用。深入学习电路知识不仅有助于理解电子设备的工作原理&#xff0c;还能够为实际设计和开发电子产品打下坚实的基础。 …

某云彩SRM2.0任意文件下载漏洞

文章目录 免责申明搜索语法漏洞描述漏洞复现修复建议 免责申明 本文章仅供学习与交流&#xff0c;请勿用于非法用途&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任 搜索语法 fofa icon_hash"1665918155"漏洞描述 某云采 SRM2.0是一款先…

扁平数组转化分类树

使用下列数组生成一个分类树&#xff08;数组中每项中的pid是父节点的id&#xff0c;pid:0表示顶层&#xff0c;pid:1&#xff0c;表示这个节点属于id为1的节点&#xff0c;children该节点的子节点数组&#xff09; const jsona [{"ID": 1,"CreatedAt": …

使用大型语言模型进行监督微调(SFT)

大型语言模型&#xff08;LLMs&#xff09;通常经过几个阶段的训练&#xff0c;包括预训练和几个微调阶段&#xff1b;请参见下文。尽管预训练很昂贵&#xff08;即需要数十万美元的计算成本&#xff09;&#xff0c;但相比之下&#xff0c;微调LLM&#xff08;或进行上下文学习…

应用商店优化(ASO)的四大误区

应用商店优化 (ASO) 是移动营销中最重要的部分之一&#xff0c;可以帮助开发人员吸引自然流量并在应用推广方面取得预期效果。近年来ASO优化在开发者中越来越受欢迎。虽然它已经证明了其有效性和对应用成功的影响力&#xff0c;但尽管如此仍然存在与ASO相关的误解&#xff0c;导…

Day-04-QFile打开文件的两种方式

一、UI界面设置两个按键&#xff0c;并直接转到槽函数 二、两种代码展示 #include <QFile> #include <QDebug>//此两种方式中调用函数&#xff0c;应包含的头文件void Widget::on_btnReadFile01_clicked()//第一种打开方式 {//1. 打开文件QFile file;file.setFile…

ARM发布新一代高性能处理器N3

简介 就在2月21日&#xff0c;ARM发布了新一代面向服务器的高性能处理器N3和V3&#xff0c;N系列平衡性能和功耗&#xff0c;而V系列则注重更高的性能。此次发布的N3&#xff0c;单个die最高32核&#xff08;并加入到CCS&#xff0c;Compute Subsystems&#xff0c;包含Core&a…

【Unity案例】搭建射击系统与UI

上期将基础的移动系统搭建完毕后就可以开始搭建更加复杂的系统部分了 前排提示&#xff0c;由于一开始仅思考如何完成操作相关功能&#xff0c;以至于到后面重构稍微有些困难&#xff0c;继续写下去恐成屎山&#xff0c;故在搭完射击和武器UI后不再继续泛化到敌人和敌人状态机…

本地Gitblit使用

首先创建一个本地的gitblit的服务&#xff0c;创建流程如下&#xff1a; 【GitBlit】Windows搭建Git服务器详细教程_搭建gitblit服务-CSDN博客 GitBlit的使用教程-CSDN博客 创建好一个仓库后&#xff0c;分配好用户权限&#xff0c;再将项目拉下来&#xff0c;这里是再visua…

零信任赋予安全牙齿,AI促使它更锋利

距离上次写关于安全的文字已经过去了很久很久&#xff0c;久到上次看到的AI还停留在TTS、ASR等最初的语音交互搜索类似的各种智能音箱以及通过关键字匹配的基于知识库的聊天的机器人。之后的几年各种视觉识别遍地开花&#xff0c;AI四小龙在人脸识别上成熟应用&#xff0c;再然…

浏览器百科:网页存储篇-如何在Chrome打开localStorage窗格(五)

1.引言 在前面的章节中&#xff0c;我们详细介绍了 localStorage 的基本概念、特性及其常用方法&#xff0c;帮助开发者在网页应用中实现数据的持久化存储。为了更好地管理和调试这些存储的数据&#xff0c;了解如何打开和使用浏览器的 localStorage 窗格是非常重要的。本篇文…

科研绘图系列:R语言差异基因四分图(Quad plot)

介绍 四分图(Quad plot)是一种数据可视化技术,通常用于展示四个变量之间的关系。它由四个子图组成,每个子图都显示两个变量之间的关系。四分图的布局通常是2x2的网格,每个格子代表一个变量对的散点图。 在四分图中,通常: 第一个子图显示变量A和B的关系。第二个子图显示…

海外云服务器安装 MariaDB10.6.X (Ubuntu 18.04 记录篇二)

本文首发于 秋码记录 MariaDB 的由来&#xff08;历史&#xff09; 谈起新秀MariaDB&#xff0c;或许很多人都会感到陌生吧&#xff0c;但若聊起享誉开源界、业界知名的关系型数据库——Mysql&#xff0c;想必混迹于互联网的人们&#xff08;coder&#xff09;无不知晓。 其…

信捷 XD PLC 位软元件

位软元件的种类相对简单&#xff0c;一般为常见的 X、Y、M、HM、S、HS、T、HT、C、HC&#xff0c; 除此之外&#xff0c; 还可由寄存器中的某一位来表示。 1&#xff09;继电器 ⚫ 输入继电器 X&#xff0c;八进制表示法。 ⚫ 输出继电器 Y&#xff0c;八进制表示法。 ⚫ …

SQL语言的规则和规范

规则 是什么呢&#xff0c;规则就是我们最基本&#xff0c;每时每刻都要遵守的比如人行道靠右&#xff0c;不能逆行&#xff0c; 规范 呢就是锦上添花&#xff0c;如果你不这么做&#xff0c;是不那么道德&#xff0c;不那么好的&#xff0c;就像小学生见到老师要问好&#…

C++11(1)

目录 前言 小故事 C11优势 统一的列表初始化 1.{}初始化 2. std::initializer_list 声明 1.auto 2.decltype 3.nullptr 前言 小故事 1998 年是 C 标准委员会成立的第一年&#xff0c;本来计划以后每 5 年视实际需要更新一次标准&#xff0c; C 国际 标准委员会在研究…

Axure制作圆球在区域范围内移动效果的案例

在Axure RP中&#xff0c;我们可以通过设置多个交互动作和动态面板来创建复杂的动画效果&#xff0c;比如实现一个圆球在指定区域内通过八个方向按钮控制移动的效果。以下是一个详细的步骤介绍&#xff0c;帮助你理解并制作这一效果。 预览&#xff1a; https://1zvcwx.axshare…

简述CCS平面线性光源

光源在机器视觉系统中起着重要作用&#xff0c;不同环境、场景及应用合适光源都不一样&#xff0c;今天我们来看看LFX3-PT系列平面线性光源。它是最适合检测镜面物体的凹凸,外壳小巧的光源。备有根据检测条件可选的2种线间距。1mm型&#xff08;型号末尾&#xff1a;A&#xff…