若依集成mybatis-plus 超详细教程(亲测可用)

news2024/11/20 20:35:08

文章目录

  • 简介
  • 步骤
      • 第一步
      • 第二步
      • 第三步
      • 第四步
      • 第五步
      • 第六步
    • 使用QueryWrapper
      • service层
      • impl 实现接口类层
      • Mapper层

简介

话不多说 直接跟着下面的教程操作,如果有报错私信我,或者通过博文下面的微信名片加我微信,免费解答哦!

步骤

第一步

打卡ruoyi-admin项目下的pom文件,加入以下依赖

<!--lombook-->
<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
 </dependency>

第二步

打卡ruoyi-common项目下的pom文件,加入以下依赖

 <!-- 集成mybatis-plus -->
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-annotation</artifactId>
</dependency>
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-annotation</artifactId>
   <version>3.5.1</version>
</dependency>

<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <scope>provided</scope>
</dependency>

第三步

打卡ruoyi-quartz项目下的pom文件,加入以下依赖

 <!-- 集成mybatis-plus -->
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-core</artifactId>
</dependency>
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-core</artifactId>
   <version>3.5.1</version>
</dependency>
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-extension</artifactId>
   <version>3.5.1</version>
</dependency>
<dependency>
   <groupId>com.ruoyi</groupId>
   <artifactId>ruoyi-system</artifactId>
</dependency>
<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
</dependency>

第四步

打卡ruoyi-system项目下的pom文件,加入以下依赖

<!-- 集成mybatis-plus -->
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-core</artifactId>
   <version>3.5.1</version>
</dependency>
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-extension</artifactId>
   <version>3.5.1</version>
</dependency>
<dependency>
   <groupId>org.quartz-scheduler</groupId>
   <artifactId>quartz</artifactId>
</dependency>

第五步

打卡主项目根项目下的pom文件,pom文件在哪(就是最外边的那个pom文件)如下图
在这里插入图片描述
加入以下依赖

<!-- 集成mybatis plus -->
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-boot-starter</artifactId>
   <version>3.5.1</version>
</dependency>
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-core</artifactId>
   <version>3.5.1</version>
</dependency>
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus</artifactId>
   <version>3.5.1</version>
</dependency>
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-annotation</artifactId>
   <version>3.5.1</version>
</dependency>

第六步

双击两下shift键,搜索MyBatisConfig类,找到MyBatisConfig类下的sqlSessionFactory方法,或者直接搜索这个方法也行,MyBatisConfig类所在的项目位置,如下图所示:
在这里插入图片描述
直接把sqlSessionFactory方法替换成我下面的这个代码

@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
{
   String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
   String mapperLocations = env.getProperty("mybatis.mapperLocations");
   String configLocation = env.getProperty("mybatis.configLocation");
   typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
   VFS.addImplClass(SpringBootVFS.class);

   //final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
   // SqlSessionFactoryBean 替换为 ⬇ MybatisSqlSessionFactoryBean
   final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
   sessionFactory.setDataSource(dataSource);
   sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
   sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
   sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
   return sessionFactory.getObject();
}

主要是替换成这行代码

final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();

按照上面的步骤 mybatis-plus 集成成功了
接下来是如果要新建了个表,CRUD代码也生成出不来的,但是怎么使用mybatis-plus中的QueryWrapper呢,参考一下代码

使用QueryWrapper

service层

集成前:
public interface IYyReservationRecordService
集成后:
public interface IYyReservationRecordService extends IService<YyReservationRecord>
在service名称后面加上以下代码

 extends IService<实体类名称>

impl 实现接口类层

集成前:
public class YyReservationRecordServiceImpl implements IYyReservationRecordService
集成后:
public class YyReservationRecordServiceImpl extends ServiceImpl<YyReservationRecordMapper, YyReservationRecord> implements IYyReservationRecordService
在实现类名称后面,implements前面去加上以下代码
YyReservationRecordMapper:mapper层名称
YyReservationRecord:实体类名称

extends ServiceImpl<YyReservationRecordMapper, YyReservationRecord> 

Mapper层

集成前:
public interface YyReservationRecordMapper
集成后:
public interface YyReservationRecordMapper extends BaseMapper<YyReservationRecord>
在mapper名称后面加上以下代码

 extends BaseMapper<实体类名称>

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

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

相关文章

代码随想录刷题随记31-贪心5

代码随想录刷题随记31-贪心5 435. 无重叠区间 leetcode链接 按照右边界排序&#xff0c;从左向右记录非交叉区间的个数。 此时问题就是要求非交叉区间的最大个数。 这里记录非交叉区间的个数还是有技巧的&#xff0c;如图&#xff1a; 左边界排序可不可以呢&#xff1f; 也是…

Unity数据持久化之XML

目录 数据持久化XML概述XML文件格式XML基本语法XML属性 C#读取存储XMLXML文件存放位置C#读取XML文件C#存储XML文件 实践小项目必备知识点XML序列化&#xff08;不支持字典&#xff09;XML反序列化IXmlSerializable接口让Dictionary支持序列化反序列化 数据持久化XML概述 什么是…

Docker入门指南:Docker镜像的使用(二)

&#x1f340; 前言 博客地址&#xff1a; CSDN&#xff1a;https://blog.csdn.net/powerbiubiu &#x1f44b; 简介 在本章节中&#xff0c;将深入探讨 Docker 镜像的概念&#xff0c;以及如何使用镜像的一系列操作。 &#x1f4d6; 正文 1 什么是镜像 1.1 Docker镜像的简…

cocos=》带你全面、系统的了解周期函数(含源码分析)

目录 简介 第一 初步了解周期函数 第二 进一步认识周期函数 一、结合节点树来了解一下周期函数 二、节点激活、脚本组件启用 三、node.parent、setParent、addChild 与 周期函数 四、addComponent 与周期函数 五、exectionOrder 与 周期函数 第三 从源码中 学习周期函…

科学碳目标(SBTI)认证是什么?

科学碳目标&#xff08;SBTI&#xff09;认证是一种基于科学的减排目标认证和监测体系&#xff0c;旨在确保企业和国家制定的减排目标符合科学标准&#xff0c;并且能够实现全球气候目标的减缓效应。这个认证体系由全球碳项目和世界资源研究所&#xff08;WRI&#xff09;共同开…

如何判断自己是不是强迫型人格障碍?

什么是强迫型人格障碍&#xff1f; 强迫型人格&#xff0c;也叫强迫固执型人格&#xff0c;当某些强迫型行为严重影响到正常的生活&#xff0c;工作和人际关系&#xff0c;且具有长期稳定的持续性特征&#xff0c;即是强迫型人格障碍。 这类思维和行为特征可以概括为&#x…

leetcode 1235

leetcode 1235 代码 class Solution { public:int jobScheduling(vector<int>& startTime, vector<int>& endTime, vector<int>& profit) {int n startTime.size();vector<vector<int>> jobs(n);for(int i0; i<n; i){jobs[i] …

【Anaconda】升级Anaconda Navigator提示JSONDecoderError,删除.condarc文件后搞定

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、报错&#xff1a;JSONDecoderError二、错误原因三、解决问题总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 时间长未升级Ana…

本地搭建springboot服务并实现公网远程调试本地接口

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

2024/5/9 QTday4

完成定时器制作 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);connect(&timer2, &QTimer::timeout, this, &Widget::label_begin);connect(&…

数据库(MySQL)—— 索引

数据库&#xff08;MySQL&#xff09;—— 索引 什么是索引创建索引使用 CREATE INDEX 语句使用 ALTER TABLE 语句在创建表时定义索引特殊类型索引注意事项 举个例子无索引的情况有索引的情况为什么索引快索引的结构 今天我们来看看MySQL中的索引&#xff1a; 什么是索引 MyS…

0509_IO4

练习1&#xff1a; 创建一对父子进程&#xff1a; 父进程负责向文件中写入 长方形的长和宽 子进程负责读取文件中的长宽信息后&#xff0c;计算长方形的面积 1 #include <stdio.h>2 #include <string.h>3 #include <stdlib.h>4 #include <sys/types.h>…

PyCharm安装详细教程

PyCharm安装详细教程 PyCharm简介及其下载网站 PyCharm是由JetBrains打造的一款Python IDE(Integrated Development Environment&#xff0c;集成开发环境)&#xff0c;带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。PyCharm提供了代码编辑、调试、语法高亮…

【BUUCTF】[RoarCTF 2019]Easy Java1

工具&#xff1a;hackbar发包&#xff0c;bp抓包。 解题步骤&#xff1a;【该网站有时候send不了数据&#xff0c;只能销毁靶机重试】 这里的登录界面是个天坑【迷魂弹】 直接点击help&#xff0c;然后进行打开hackbar——通过post请求&#xff0c;再通过bp抓包&#xff0c;…

DetCLIPv3:面向多功能生成开放词汇的目标检测

DetCLIPv3:面向多功能生成开放词汇的目标检测 摘要IntroductionRelated worksMethod DetCLIPv3: Towards Versatile Generative Open-vocabulary Object Detection 摘要 现有的开词汇目标检测器通常需要用户预设一组类别&#xff0c;这大大限制了它们的应用场景。在本文中&…

长难句打卡5.9

For example, the Long Now Foundation has as its flagship project a mechanical clock that is designed to still be marking time thousands of years hence. 例如,今日永存资金会将机械钟表视为旗舰项目,因此该钟表旨在为未来几千年保持计时。 Foundation n.基金会flag…

如何快速注册企业邮箱?只需要三步

快速注册一个企业邮箱&#xff0c;只需要以下三个步骤&#xff1a;一是挑选适合的邮箱版本和邮箱价格&#xff0c;二是填写必要的企业信息&#xff0c;三是完成企业邮箱的基础配置。完成上述三个步骤&#xff0c;企业就能够拥有一个专属的企业邮箱。 一、挑选适合的邮箱版本 …

jpg照片怎么压缩到10k?压缩照片并不难

jpg照片怎么压缩到10k&#xff1f;随着数字摄影的普及&#xff0c;我们手机或电脑中存储的照片数量越来越多&#xff0c;而这些高分辨率的照片往往会占用大量的存储空间。为了节省空间&#xff0c;将JPG照片压缩到较小的文件大小成为了许多人的需求。本文将为您介绍几款可以将J…

《基于GNU-Radio和USRP的雷达通信系统的实现》文献阅读

文章目录 前言一、摘要二、引言三、联合系统实施1、基本原理2、实验方案 四、软件设置1、发射机2、接收机 五、实验结果1、实验设置2、波形3、室内外对比4、不同参数的结果 六、结论七、参考文献八、论文自取九、阅读收获 前言 本文记录《基于GNU-Radio和USRP的雷达通信系统的实…

新手做抖音小店,应该怎么做才挣钱?按照这个思路来!

大家好&#xff0c;我是电商糖果 别人在抖音创业开店&#xff0c;都可以赚到钱&#xff0c;他们是怎么做到的。 作为一个新手&#xff0c;应该怎么做呢&#xff1f; 我相信这是很多人想开店的朋友&#xff0c;前期都会思考的问题。 下面糖果就来说一下&#xff0c;新手做抖…