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

文章目录

  • 简介
  • 步骤
      • 第一步
      • 第二步
      • 第三步
      • 第四步
      • 第五步
      • 第六步
    • 使用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<实体类名称>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决方案:‘Series‘ object has no attribute ‘xxxx‘

文章目录 一、现象二、解决方案 一、现象 ...... model.fit(X_train, y_train) y_pred model.predict(X_test) recall recall_score(y_test, y_pred) precision precision_score(y_test. y_pred) ......执行语句到**“precision precision_score(y_test. y_pred)”**这里发…

StarRocks 跨集群数据迁移,SDM 帮你一键搞定!

作者&#xff1a;严祥光&#xff0c;StarRocks Active Contributor&#xff0c;StarRocks 存算分离核心研发&#xff0c;在社区中主要负责数据导入、跨集群同步、数据迁移和容灾等工作。 有时候&#xff0c;你可能会为以下需求而苦恼&#xff0c;苦苦搜索更好的解决方案&#x…

记录创建项目java version 没有8的问题

问题&#xff1a; 解决方案 java版本选择21&#xff08;21可以兼容jdk8&#xff09; SpringBoot选择3.2.5 进入项目后手动在pom.xml中修改版本

基于stm32的spi从机实验HAL库编程

目录 基于stm32的spi从机实验HAL库编程前言业务场景硬件设计接线配置swd接口配置spi配置DMA配置中断配置系统时钟配置工程生成代码写点从机代码上机现象后记本文使用的测试工程 基于stm32的spi从机实验HAL库编程 前言 在微控制器的世界中&#xff0c;串行外设接口(SPI)是一种…

java面向对象实现文字格斗游戏细节完善版

为了完善上一篇的文字格斗游戏的细节&#xff0c;所以加了些代码&#xff0c;使得交互更加的具体有趣! 效果 大家可以多运行几次代码&#xff0c;得到不同的战况&#xff01;&#xff01; 代码实现 1.bean类 import java.util.Random;public class TextGame {private Strin…

ardupilot的固定翼飞行模式

飞行模式 APM所有的飞行模式都在对应的机型的文件夹下的mode.h里面有定义,针对于不同的模型,功能函数在基类中Mode中都是以纯虚函数实现了, 然后在继承的子类中重新实现它,以实现多态。 takeoff模式 参见网址在 ArduPlane 4.0 及更高版本中,自动起飞本身也是一种模式(…

文件操作

前言&#xff1a; 文件内容属性 要向访问文件就要打开文件——>用进程来打开——>要把文件先加载到内存中——> 一个进程可以打开多个文件&#xff0c;OS中也有可能多个进程打开了多个文件 文件以多&#xff0c;就需要进行管理&#xff0c;——先描述再组织 没有被打开…

【图文教程】PyCharm安装配置PyQt5+QtDesigner+PyUic+PyRcc

这里写目录标题 PyQt5、Qt Designer、PyUic、PyRcc简介&#xff08;1&#xff09;下载安装PyQt5&#xff08;2&#xff09;打开designer.exe所在位置&#xff08;3&#xff09;在PyCharm中配置QtDesigner&#xff08;4&#xff09;验证QtDesigner是否配置成功&#xff08;5&…

thinkphp6使用layui分页组件做分页效果

博主用的是layui2.9.8的版本&#xff0c;但这个版本的分页组件是动态效果的&#xff0c;但我需要的是静态分页&#xff0c;所以我自己封装了一个生成layui的分页代码生成代码。代码如下&#xff1a; 1、先创建文件&#xff0c;路径是extent/layui/LayuiPage.php&#xff0c;加…

HashMap前世今生

概述 HashMap是我们常用的一种数据结构&#xff0c;他是一个key-value结构。我们来深入了解一下。 1.8之前用的数组加链表 1.8之后用的数组加链表加红黑树&#xff0c;当链表数量大于8时&#xff0c;将链表转为红黑树。当红黑书节点小于6又会转为链表。 浅析HashMap的put()方…

达梦数据库限制用户登录IP测试

达梦数据库创建用户时可以限制登录ip和时间段。 创建测试测试用户 create user test1 identified by Test_1234 ALLOW_IP "192.168.100.101"; 限定该用户只能通过192.168.100.101地址登录数据库 连接测试 上图可见&#xff0c;192.168.100.101客户端可以连接上19…

纯血鸿蒙APP实战开发——Grid和List内拖拽交换子组件位置

Grid和List内拖拽交换子组件位置 介绍 本示例分别通过onItemDrop()和onDrop()回调&#xff0c;实现子组件在Grid和List中的子组件位置交换。 效果图预览 使用说明&#xff1a; 拖拽Grid中子组件&#xff0c;到目标Grid子组件位置&#xff0c;进行两者位置互换。拖拽List中子…

搭建产品帮助体系指南干货在这里

产品的成功不仅需要它的功能强大&#xff0c;还要让用户对产品有一个良好的体验。一个完善全面的产品帮助体系&#xff0c;能够很大程度地提升用户体验&#xff0c;帮助用户更好地理解和使用产品。如何搭建一个高效、实用的产品帮助体系呢&#xff1f;下面&#xff0c;我将为你…

Tomcat安装与配置(详细教程)

一、安装Tomcat服务器 1.下载地址&#xff08;Tomcat官网&#xff09;http://tomcat.apache.org/ 2.将下载的zip文件解压到指定的目录&#xff08;例如&#xff1a;D盘&#xff0c;目录不要有中文&#xff09; D:\apache-tomcat-9.0.43 二、配置Tomcat环境变量 &#xff08;…

鸿蒙UI复用

鸿蒙UI复用 简介BuilderBuilder的使用方式一Builder的使用方式二Builder的使用方式三 Component使用Component复用UI 简介 在页面开发过程中&#xff0c;会遇到有UI相似的结构&#xff0c;如果每个UI都单独声明一份&#xff0c;会产生大量冗余代码&#xff0c;不利于阅读。遇到…

ai可以做思维导图吗?当然是可以的!

ai可以做思维导图吗&#xff1f;在快节奏的现代生活中&#xff0c;思维导图作为一种高效的信息组织和表达工具&#xff0c;越来越受到人们的青睐。随着人工智能&#xff08;AI&#xff09;技术的不断发展&#xff0c;AI思维导图软件也应运而生&#xff0c;它们不仅能够帮助用户…

软件接口测试规范流程

1、需求分析 1.1 确认测试目的和测试对象&#xff1a; 了解需求并明确测试目的&#xff0c;如测试一个本地 API 还是跨网站的远程 API。 1.2 确认测试的基本条件: 确定测试所需的测试数据&#xff0c;测试环境以及测试团队中的角色和职责。 1.3. 对接口文档进行验证&#xf…

兄弟DCP-7057激光打印机报错误代码EC检修及分析

故障描述&#xff1a; 兄弟DCP-7057激光打印机屏幕显示无法打印EC关闭电源&#xff0c;然后重新打开打印机。 故障检修及分析&#xff1a; 1、定影单元风扇的插线连接不良 检查定影单元风扇的插线连接并重新连接&#xff1b; 2、定影单元风扇故障 更换定影单元风扇&#xff1b…

Segmentation fault (core dumped)排查

先泼盆冷水&#xff0c;这个问题比较棘手&#xff0c;有的能通过重装opencv相关包修复&#xff0c;有的可能还是直接换一个没问题的环境比较快…… 我最后是没有解决的&#xff0c;折腾了几个小时后&#xff0c;还是听同事的话&#xff0c;把docker镜像重启了&#xff0c;幸好…

day04—java基础之方法详解

方法概述 方法是具有特定功能的代码集合&#xff0c;由于我们是把重复的代码写到方法当中&#xff0c;以后要用直接调用方法即可&#xff0c;不需要再写一遍了。代码相当于只写了一遍。所以可以提高代码的复用性。如果要修改代码&#xff0c;我们也只要修改一处即可&#xff0…