全网最全、最新MyBatis框架核心知识

这篇具有很好参考价值的文章主要介绍了全网最全、最新MyBatis框架核心知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MyBatis框架

1. 软件开发常用结构

  • MyBatis是操作数据库的,相当于是一个增强的JDBC

1.1 三层架构

三层架构包括:

  • 界面层(User Interface layer)
  • 业务逻辑层(Business Logic Layer)
  • 数据访问层(Data access layer)

三层的职责:

  • 界面层(表示层,视图层):主要功能是接受用户的数据,显示请求的处理结果。使用 web 页面和 用户交互,手机 app 也就是表示层的,用户在 app 中操作,业务逻辑在服务器端处理。
    可以认为是jsp、servlet、html、css...
  • 业务逻辑层:接收表示传递过来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据。可以认为是service,处理业务逻辑,调用dao的。
  • 数据访问层(持久层):与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交 给业务层,同时将业务层处理的数据保存到数据库.

三层对应的包:

  • 面层: controller包 (servlet)
  • 业务逻辑层: service 包(XXXService类)
  • 数据访问层: dao包(XXXDao类)用来对数据库进行增、删、改、查。

三层的处理请求的交互:

  • 用户---> 界面层--->业务逻辑层--->数据访问层--->DB 数据库

全网最全、最新MyBatis框架核心知识

为什么要使用三层:

  • 结构清晰、耦合度低, 各层分工明确
  • 可维护性高,可扩展性高
  • 有利于标准化
  • 开发人员可以只关注整个结构中的其中某一层的功能实现
  • 有利于各层逻辑的复用

重点 :因为每一层都对应一个处理框架

三层对应的处理框架:

  • 界面层---servlet---springmvc(框架):接收请求,处理结果。
  • 业务逻辑层---service类--spring(框架) :管理service类。
  • 数据访问层---dao类--mybatis(框架):代替JDBC访问数据库。

2. 什么是框架

框架的定义:

  • 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方 法;另一种认为,框架是可被应用开发者定制的应用骨架、模板。 简单的说,框架其实是半成品软件,就是一组组件,供你使用完成你自己的系统。从另一个角度来 说框架一个舞台,你在舞台上做表演。在框架基础上加入你要完成的功能。 *框架是安全的,可复用的,不断升级的软件。 *
  • 简单理解:可以把框架当做是一个舞台、一个模板(规定好的一些条款、内容)。

框架解决的问题:

  • 框架要解决的最重要的一个问题是技术整合,在 J2EE 的 框架中,有着各种各样的技术,不同的应 用,系统使用不同的技术解决问题。需要从 J2EE 中选择不同的技术,而技术自身的复杂性,有导致更 大的风险。企业在开发软件项目时,主要目的是解决业务问题。 即要求企业负责技术本身,又要求解 决业务问题。这是大多数企业不能完成的。框架把相关的技术融合在一起,企业开发可以集中在业务领 域方面。
  • 另一个方面可以提供开发的效率。

框架的特点:

  • 框架一般不是全能的, 不能做所有事情
  • 框架是针对某一个领域有效。 特长在某一个方面,比如mybatis做数据库操作强,但是他不能做其它的。
  • 框架是安全的,可复用的,不断升级的软件。

常用的J2EE开发框架:

  • J2EE是一套针对企业级分布式应用的计算环境。它定义了动态Web页面功能(Servlet和Jsp)、商业组件(EJB)、异步消息传输机制(JMS)、名称和目录定位服务(JNDI)、数据库访(JDBC)、与子系统的连接器(JCA)和安全服务等。

MyBatis 框架: MyBatis 是一个优秀的基于 java 的持久层框架,内部封装了 jdbc,开发者只需要关注 sql 语句 本身,而不需要处理加载驱动、创建连接、创建 statement、关闭连接,资源等繁杂的过程。 MyBatis 通过 xml 或注解两种方式将要执行的各种 sql 语句配置起来,并通过 java 对象和 sql 的 动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。


Spring 框架: Spring 框架为了解决软件开发的复杂性而创建的。Spring 使用的是基本的 JavaBean 来完成以前 非常复杂的企业级开发。Spring 解决了业务对象,功能模块之间的耦合,不仅在 javase,web 中使用, 大部分 Java 应用都可以从 Spring 中受益。 Spring 是一个轻量级控制反转(IoC)和面向切面(AOP)的容器。


SpringMVC 框架: Spring MVC 属于 SpringFrameWork 3.0 版本加入的一个模块,为 Spring 框架提供了构建 Web 应用程序的能力。现在可以 Spring 框架提供的 SpringMVC 模块实现 web 应用开发,在 web 项目中 可以无缝使用 Spring 和 Spring MVC 框架。

3.MyBatis框架

3.1 MyBatis介绍

  • 一个框架,早期叫做ibatis, 代码在github。
  • mybatis是(MyBatis SQL Mapper Framework for Java )(sql映射框架)
    • sql mapper : sql映射 可以把数据库表中的一行数据 映射为 一个java对象。一行数据可以看做是一个java对象。操作这个对象,就相当于操作表中的数据。
    • Data Access Objects(DAOs) : 数据访问 , 对数据库执行增删改查

3.1 MyBatis 提供的功能

  • 提供了创建Connection ,Statement, ResultSet的能力 ,不用开发人员创建这些对象了。
  • 提供了执行sql语句的能力, 不用你执行sql。
  • 提供了循环sql, 把sql的结果转为java对象, List集合的能力。

全网最全、最新MyBatis框架核心知识,这篇文章包你这辈子也忘不掉MyBatis(一)!!-阿里云开发者社区文章来源地址https://www.toymoban.com/news/detail-473611.html

到了这里,关于全网最全、最新MyBatis框架核心知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 业余无线电新手入门基础知识(全网最全)

    无线电通信是世界中的一项重要组成部分 一项鼓励人们去从事无线电收信和发信的业余爱好活动 业余无线电爱好者也被称为火腿、HAM 业余无线电叫HAM的由来 远在业余无线电发明之初的1908年,美国哈佛大学有一个业余无线电社团其成员为亚伯特.海曼(Elbert.S.Hyman)、巴伯.兹美

    2024年02月09日
    浏览(38)
  • 全网最新最全的Appium自动化:使用appium后安卓手机无法调出键盘解决方法

    问题 :用appium进行真机调试后,使用手机的app进行输入时无法调出键盘。 原因 :appium调试时,将手机输入法设置成了Unicode IME 注:按键详细操作参考 :转载至 作者:oscarforever   地址:https://www.cnblogs.com/oscarforever/p/10721774.html 解决方法: 方法一,手机设置里修改输入法:

    2024年02月04日
    浏览(39)
  • 全网最全Pytest框架使用教程和项目实战~从入门到精通

    pytest是一个非常成熟的python单元测试框架,比unittest更灵活、更容易上手 pytest可以和selenium、requests、appinum结合实现web自动化、接口自动化、app自动化 pytest可以是实现测试用例的跳过以及reruns失败用例重试 pytest可以和aliure生成非常美观的测试报告 pytest可以和jenkins持续集成

    2024年02月06日
    浏览(38)
  • 人工智能深度学习100种网络模型,精心整理,全网最全,PyTorch框架逐一搭建

    大家好,我是微学AI,今天给大家介绍一下人工智能深度学习100种网络模型,这些模型可以用PyTorch深度学习框架搭建。模型按照个人学习顺序进行排序: 深度学习模型 ANN (Artificial Neural Network) - 人工神经网络:基本的神经网络结构,包括输入层、隐藏层和输出层。 学习点击地

    2024年02月14日
    浏览(32)
  • 【Web UI自动化测试】Web UI自动化测试之框架篇(全网最全)

    本文大纲截图: UnitTest框架: PyTest框架: 框架: 框架英文单词 framework,为解决一类事情的功能的集合。需要按照框架的规定(套路)去书写代码。 概念:UnitTest是python自带的一个单元测试框架,用它来做单元测试 自带的框架:不需要单独按照,只要安装了 python就可以用

    2023年04月09日
    浏览(41)
  • 一文带你快速搭建框架(最全MyBatis笔记修改篇)

    前言:最近收到小伙伴们的私信说这一篇有点问题,因为我是用Typora搬运笔记没考虑到这个问题,感谢这个小伙伴反映的问题~ 目录 一.概述 1.简介 2.maven构建 二.相关概念 1.Mapper接口 2.ORM思想 三.映射配置文件 1.文件结构 2.映射配置文件标签详解 3.SQL语句中参数的获取 (1)获取

    2023年04月12日
    浏览(39)
  • 【MyBatis框架】核心配置文件讲解

    14天阅读挑战赛 1. 引言 在MyBatis的核心配置中,包含了很多影响MyBatis行为的重要信息,这些信息通常在一个项目中只会在一个配置文件中编写,并且编写后也不会轻易改动。虽然在实际项目中需要开发人员编写或修改的配置文件不多,但是熟悉配置文件中各个元素的功能还是

    2023年04月09日
    浏览(80)
  • MyBatis基础知识和快速入门、MyBatis核心配置文件讲解

    什么是Mybatis MyBatis 是一个优秀的基于java的 持久层框架 ,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。 mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中

    2024年02月04日
    浏览(80)
  • 黑猫带你学UFS协议第1篇:全网最全UFS协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)

    文/黑猫学长 笔者本人从事于存储芯片行业多年,对eMMC/UFS/SD等芯片有深入研究,协议尤甚。而今看来,UFS协议在整个存储产品中(包括U盘、SPI、SD卡,NM卡、emmc、SSD、flash颗粒等),属于最难梯队。 对于嵌入式存储芯片来说,从最初大家熟悉的SD/TF卡,发展到emmc,再到如今的

    2024年02月06日
    浏览(38)
  • 全网最新最全的基于Tensorflow和PyTorch深度学习环境安装教程: Tensorflow 2.10.1 加 CUDA 11.8 加 CUDNN8.8.1加PyTorch2.0.0

    本文编写日期是:2023年4月. Python开发环境是Anaconda 3.10版本,具体Anaconda的安装这里就不赘述了,基础来的。建议先完整看完本文再试,特别是最后安装过程经验分享,可以抑制安装过程中一些奇怪的念头,减少走弯路。 目录 1. NVidia驱动安装  2. 安装CUDA Toolkit 3. 安装Tensorfl

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包