iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >快速理解Mybatis-plus中BaseMapper、IService和ServiceImpl
  • 437
分享到

快速理解Mybatis-plus中BaseMapper、IService和ServiceImpl

mybatisjava开发语言 2023-08-17 10:08:33 437人浏览 泡泡鱼
摘要

一、介绍 在使用mybatis-plus(MP)中,我们主要会用到BaseMapper、IService和ServiceImpl,但一直以来都是照猫画虎的使用,对三者的关系一直比较迷糊。 本文将从持久层Mapper和业务层Service对三

一、介绍

在使用mybatis-plus(MP)中,我们主要会用到BaseMapper、IService和ServiceImpl,但一直以来都是照猫画虎的使用,对三者的关系一直比较迷糊。
本文将从持久层Mapper和业务层Service对三者的关系以及基本的作用进行介绍。
最后在用一个例子,从Controller层完整的走一遍流程。
ps:仔细看下,其实没有想象的那么难。

二、持久层Mapper

1、 BaseMapper< T >

BaseMapper主要是集成了一些基本的CRUD的方法,和普通的Mapper一样。

在这里插入图片描述

2、Mapper层的关系图

在这里插入图片描述

三、业务层Service

1、IService< T >

IService主要是集成了一些通用的服务方法,和普通的Service接口一样。

在这里插入图片描述

2、ServiceImpl, T>

ServiceImpl主要是IService的实现类,传入的参数为M和T。
M:Mapper接口类型;T:对应实体类的类型
解释:, T>主要是ServiceImpl中进行类型的定义,是泛型上下边界的限制,保证传入的第一个参数M(Mapper)是继承BaseMapper< T >,另一个参数是泛型T。

例子
如上图IService< T >中的方法save,点击它的实现方法,将进入到ServiceImpl中,如下图。

可以看到ServiceImpl中引入M baseMapper,里面的save方法最后是执行baseMapper.insert(entity)。

然后这个insert方法是BaseMapper< T >的方法,如开篇的第一张图所示。

在这里插入图片描述
在这里插入图片描述

3、Service层的关系图

在这里插入图片描述

四、控制层Controller

上面我们充分了解了Mybatis-plus中各个文件间的关系,以及他们主要的作用。
最后在这里,以Controller层开始,彻底理解它的使用流程,主要内容我都写在图中了。
在这里插入图片描述
最后画这个图的原因是,前面都虽然理解了,但久了后还是得回来理解一下;可是我们还是使用为主,所以画了该图,忘了时候可以快速理解。
ps:画完整个人都通透了。

来源地址:https://blog.csdn.net/weixin_42516475/article/details/130115388

--结束END--

本文标题: 快速理解Mybatis-plus中BaseMapper、IService和ServiceImpl

本文链接: https://www.lsjlt.com/news/372657.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 快速理解Mybatis-plus中BaseMapper、IService和ServiceImpl
    一、介绍 在使用Mybatis-plus(MP)中,我们主要会用到BaseMapper、IService和ServiceImpl,但一直以来都是照猫画虎的使用,对三者的关系一直比较迷糊。 本文将从持久层Mapper和业务层Service对三...
    99+
    2023-08-17
    mybatis java 开发语言
  • 关于Mybatis Plus中BaseMapper和IService
    1.BaseMapper接口 BaseMapper是Mybatis Plus提供的基础Mapper接口。它提供了常见的CRUD操作方法,如插入、修改、删除和查询等。BaseMapper是一个通用接口,...
    99+
    2023-08-31
    mybatis java 后端
  • IService接口和ServiceImpl实现类(Mybatis-Plus对service层的封装)
    Java知识点总结:想看的可以从这里进入 目录 3.2、IService接口3.2.1、新增3.2.2、查询1、单行查询2、多行查询 3.2.3、删除3.2.4、修改3.2.5、修改或更新3.2.6、分页3.2.7、...
    99+
    2023-08-17
    mybatis java spring
  • MyBatis-Plus简介和快速入门教程
    目录 一、MyBatis-Plus简介(来自官网)二、快速开始三、通用CRUD3.1 insert(插入操作)3.2 updateById(更新操作)3.3 查询操作——各...
    99+
    2024-04-02
  • Mybatis和Mybatis-Plus对MySQL中json类型处理
    文章目录 1 MySQL中json类型处理1.1 引言1.2 准备建表1.3 Mybatis1.3.1 实体类1.3.2 BaseTypeHandler1.3.3 application.ym...
    99+
    2023-10-10
    mybatis mysql json
  • Mybatis-Plus中and()和or()的使用与原理详解
    目录一. 简单无优先级连接(即无括号的sql语句)1. 与连接 and()2. 或连接 or()二. 复杂有优先级的的连接补充:MybatisPlus中and和or的组合使用总结一....
    99+
    2024-04-02
  • 快速理解HBase和BigTable
    有关系行数据库经验的人(比如我),在最初接触HBase这样的数据库时,对数据结构的理解容易遇到障碍。会不自觉的将HBase的行、列等概念映射成关系型数据库的行、列。为了加速理解HBase的一些概念,翻译了这...
    99+
    2024-04-02
  • Java的MyBatis快速入门和实战详解
    目录1.什么是MyBatis2. JDBC存在的缺点硬编码操作繁琐3.Mybatis简化JDBC开发4.MyBatis快速入门|实战项目详解1.什么是MyBatis 简单来说,My...
    99+
    2023-05-18
    MyBatis MyBatis 实战
  • Mybatis-Plus中的and()和or()的使用与原理介绍
    一. 简单无优先级连接(即无括号的sql语句) 简单来说,两个子条件间默认and与连接,若两个之间显式写出or()则or或连接. 与连接 and() 当需要简单的将两个条件与连接,则最直接的写法为: QueryWrapper queryW...
    99+
    2023-08-31
    mybatis java mysql
  • 快速理解Java垃圾回收和jvm中的stw
    Java中Stop-The-World机制简称STW,是在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外)。Java中一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与J...
    99+
    2023-05-31
    java jvm ava
  • pytorch中torch.topk()函数的快速理解
    目录函数作用:举个栗子:实例演示总结函数作用: 该函数的作用即按字面意思理解,topk:取数组的前k个元素进行排序。 通常该函数返回2个值,第一个值为排序的数组,第二个值为该数组...
    99+
    2024-04-02
  • 如何快速理解HTML5新增元素和css
    本篇内容介绍了“如何快速理解HTML5新增元素和css”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  ...
    99+
    2024-04-02
  • 通俗易懂 快速理解 JDK动态代理 和 cglib动态代理
    动态代理的实现方案有两种,JDK动态代理和CGLIB动态代理,区别在于JDK自带的动态代理,必须要有接口,而CGLIB动态代理有没有接口都可以。 JDK动态代理:JDK原生的实现方式,需要被代理的...
    99+
    2023-10-21
    java spring
  • 如何快速理解C ++中的运算符重载
    本篇内容主要讲解“如何快速理解C ++中的运算符重载”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何快速理解C ++中的运算符重载”吧!在C ++中,我们可以...
    99+
    2024-04-02
  • 带你快速了解Java中类和对象的关系
    本文重点解读Java里的类和对象的关系 1、首先介绍两个概念 类:类是对现实生活中一类具有共同属性和行为事务的抽象,确定对象将会拥有的属性和行为。 对象:对象是类的一个实例(对象不...
    99+
    2024-04-02
  • 如何解决mybatis-plus实体类中字段和数据库中字段名不对应
    这篇文章主要介绍“如何解决mybatis-plus实体类中字段和数据库中字段名不对应”,在日常操作中,相信很多人在如何解决mybatis-plus实体类中字段和数据库中字段名不对应问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-06-07
  • 快速理解Java设计模式中的组合模式
    组合模式是一种常见的设计模式(但我感觉有点复杂)也叫合成模式,有时又叫做部分-整体模式,主要是用来描述部分与整体的关系。个人理解:组合模式就是将部分组装成整体。定义如下:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象...
    99+
    2023-05-30
    java 设计模式 ava
  • 如何在Bash中快速识别和处理ASP响应文件?
    在Bash中识别和处理ASP响应文件可以让我们更有效地处理Web应用程序,但是这可能会让一些开发人员感到困惑。在本文中,我们将讨论如何在Bash中快速识别和处理ASP响应文件,以及如何使用一些实用的技巧来帮助我们更好地处理这些文件。 ASP...
    99+
    2023-11-12
    响应 文件 bash
  • 一文带你快速理解JavaScript中call()函数的使用
    目录this指向Call()指向理解call()函数前, 首先要了解一下this的指向问题 this指向 1.指向window: var name = '小红' function ...
    99+
    2023-03-23
    JavaScript call()使用 JavaScript call() JavaScript call
  • 如何用 Python 和 NumPy 快速处理文件中的数值数据?
    在日常的数据处理中,我们经常需要从文件中读取数值数据,并对这些数据进行加工处理。Python 是一种十分强大的编程语言,可以用于各种数据处理任务。NumPy 是 Python 中一个非常常用的科学计算库,它提供了丰富的数值处理工具,可以帮...
    99+
    2023-11-04
    文件 关键字 numy
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作