诺依集成mybatis换成mybatis-plus(完美解决)

news2024/11/16 21:41:32

总结分析:

问题1:mybatis与mybatis-plus能否共存?

经过将近一天的搜索发现,mybatis与mybatis-plus的sql工厂不通,mybatis是SqlSessionFactoryBean,而mybatis-plus是MybatisSqlSessionFactoryBean,所以一般最好是项目中使用一个最好,当然想要共存也可以,mybatis-plus的版本最好要高。

问题2:配置文件:当使用mybatis或者mybatis-plus时,配置文件只需要出现一个就行。

以下二选一!

mybatis配置文件:(就用诺依项目里的举例)

# MyBatis配置
#mybatis:
#    # 搜索指定包别名
#    typeAliasesPackage: com.ruoyi.**.domain
#    # 配置mapper的扫描,找到所有的mapper.xml映射文件
#    mapperLocations: classpath*:mapper/**/*Mapper.xml
#    # 加载全局的配置文件
#    configLocation: classpath:mybatis/mybatis-config.xml

mybatis-plus:(自己的)

#mybatis-plus
mybatis-plus:
  mapper-locations: classpath*:mapper/**/*Mapper.xml
#  config-location: classpath:mybatis/mybatis-config.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.ruoyi.**.domain
  global-config:
    #数据库相关配置
    db-config:
      #主键类型  AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: AUTO
      logic-delete-value: -1
      logic-not-delete-value: 0
    banner: false
  #原生配置
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    call-setters-on-nulls: true
    jdbc-type-for-null: 'null'

问题3: mybatis-plus的jar包

<dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatisplus.version}</version>
            </dependency>

解决方法:

1. jar包引入:

在父依赖中设置mybatis-plus的版本依赖

引人父依赖模块,同时也在你扩展的模块引入即可。

同时在common模块引入mybatis-plus依赖。

2. 代码注释

原因:诺依中ruoyi-framework模块有对mybatis的配置类,而mybatis的sql工厂和mybatis-plus的sql工厂不同,否则会报以下错:(所以需要将这个配置类的相关代码注释即可)

mybatis-plus  Invalid bound statement (not found): com.ruoyi.file.mapper.UserfileMapper.selectCount

3. 修改配置:

打开admin模块的application.yml配置文件,将mybatis注释,改成mybatis-plus

同时需要注释掉:

因为yml中的Configuration和mybatis-config文件的configruation配置是不能共存的。否则会报以下错误

Property 'configuration' and 'configLocation' can not specified with together

欧克,集成完毕!!

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

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

相关文章

python下载油管、B站视频的方法

这是2023年的第一篇博客。但绝不是最后一篇。 今天的博客记录篇娱乐向。 今夜想让wh听我听的歌。 利用python的you-get实现听歌自由。&#xff08;虽然有音乐会员&#xff09; FFmpeg的下载与安装。 FFmpeg的下载地址 选择对应型号的操作系统。 本次演示采用windows操作系统…

ChatGPT的调用API被提前发现了?

前言 近日&#xff0c;有消息称ChatGPT的API已经被提前发现。作为一名技术爱好者&#xff0c;我决定亲自试试看。经过几次尝试&#xff0c;我发现这确实是真的&#xff01;&#xff08;不过OpenAI确实动作很快&#xff0c;如今已经修补了大部分的模型&#xff09;。 1. 如何调…

使用 4EVERLAND 将您的 Damus 配置文件存储到 IPFS/Arweave

真正控制您的社交网络&#xff01; 挑战Twitter的去中心化社交应用Damus已登陆App Store。它是第一个使用名为Nostr的开放式去中心化社交网络协议的移动应用程序&#xff0c;该协议由 Twitter 联合创始人 Jack Dorsey 资助&#xff0c;该协议基于加密密钥对。 Damus 的出现是…

001. SQL慢查询排查(字段类型不一致)

目录一&#xff1a;背景二&#xff1a;排查过程2.1: SQL慢查询定位2.2: Python层面分析将String翻译成Int类型的原因2.3: Python进行SQL执行时间检测出现的问题三&#xff1a;总结一&#xff1a;背景 新的业务上线后&#xff0c; 合作部门发现我们引擎执行完&#xff0c; 回调…

从用户到专家-Zabbix培训【优惠】通道开启

Q&#xff1a;我从2.0开始使用Zabbix&#xff0c;还用得着参加培训&#xff1f; A&#xff1a;相信我&#xff0c;多得是你不知道的事&#xff01; Zabbix与时俱进&#xff0c;6.0新增了很多功能&#xff0c;如何快速系统掌握&#xff1f; 培训内容是Zabbix原厂设计的系统课…

自学软件测试从哪里开始?给还在迷茫的人一条出路

这两天和朋友谈到软件测试的发展&#xff0c;其实软件测试已经在不知不觉中发生了非常大的改变&#xff0c;前几年的软件测试行业还是一个风口&#xff0c;随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业&#xff0c;目前软件测试行业“缺口”已经基本饱和。当然&a…

JVM的垃圾回收机制GC

GC回收区域GC主要针对堆区回收&#xff0c;回收是以对象为单位。方法区的类对象加载后不太需要回收&#xff1b;栈区的释放时机确定&#xff0c;不必回收&#xff1b;程序计数器是固定内存地址&#xff0c;不必回收。找出垃圾的方法引用计数法&#xff08;jvm未采取&#xff09…

SAP 编号范围及BUFFER缓冲

一 前言 编号范围对象(NUMBER RANGE)是SAP ERP 软件中的一个重要概念. 主要用来获取流水号. 在标准功能及自开发功能中大量使用.系统中的几乎所有对象的号码都是通过编号范围对象获取的. 二 编号范围对象的创建 事务代码SNRO 用于创建编号范围对象 三 编号范围对象的配置…

几个关键字(final、static、权限修饰符、super、this、instanceof)

Java知识点总结&#xff1a;想看的可以从这里进入 目录5、关键字5.1、final5.2、static5.3、 权限修饰符5.4、 super、this5.5、instanceof5、关键字 5.1、final 1、final&#xff1a;最终的。 修饰局部变量时赋值后不可改&#xff0c;修饰成员变量时必须赋初值且不可改&#x…

基于AST的babel库实现js反混淆还原基础案例荟萃

基本概念 AST简介 AST全称Abstract Syntax Tree&#xff0c;即抽象语法树&#xff0c;简称语法树&#xff08;Syntax tree&#xff09;&#xff0c;树上的每个节点都表示源代码中的一种结构。 JavaScript 领域常用的 AST 解析库有 babel、esprima、espree 和 acorn 等&#…

【2023】Prometheus-先搭出来玩玩

找两台还没回收的服务器&#xff08;虚拟机&#xff09;&#xff0c;使用centos7.*系统 一台作为监控端&#xff0c;一台作为被监控端。目录1.快速部署Prometheus服务2.快速部署被监控端加入监控端3.使用grafana作为UI展示4.导入node_exporter模板监控node节点1.快速部署Promet…

【nodejs】脚手架从零开始搭建JBD

&#x1f6ce;️脚手架编写 脚手架框架&#xff1a; bin www.js src contant.js create.js main.js package-lock.json package.json &#x1f6e0;️插件安装 devDependencies & dependencies 脚本名称脚本作用commander读取版本&#xff0c;设定选项&#xff…

混合人机协同制造系统设计与控制中的运营管理问题:一项调查

S. Ehsan Hashemi-Petroodi , Simon Thevenin , Sergey Kovalev , Alexandre Dolgui 小于翻译摘要&#xff1a;能够执行多种任务的制造系统需要不同类型的资源。使用机器人的全自动系统具有高速、准确、不知疲倦和力量&#xff0c;但它们很昂贵。另一方面&#xff0c;人类工作者…

【Redis】快速入门使用

文章目录Redis初识NosqlRedis安装依赖库上传安装包并解压启动Redis桌面客户端Redis常见命令Redis通用命令String类型String的常见命令Key结构Hash类型List类型Set类型SortedSet类型Redis的Java客户端Jedis客户端快速入门连接池SpringDataRedis客户端快速入门自定义序列化String…

无法通过SSH远程登录Linux实例时的排查指引-阿里云国际

本文介绍在使用阿里云国际版云服务器实例时&#xff0c;通过SSH远程登录Linux系统的ECS实例时&#xff0c;连接失败&#xff0c;无法正常登录Linux实例的排查指引&#xff1a; SSH登录失败时没有明确的报错信息 处理流程 如果没有收到系统返回的报错信息&#xff0c;请根据以下…

多级缓存架构 | 黑马Redis高级篇

目录 一、多级缓存介绍 1、传统缓存的问题 2、多级缓存方案 二、JVM进程缓存 1、初始Caffeine 缓存分类 Caffeine入门 2、实现进程缓存 三、Lua脚本 1、初始Lua 2、Lua语法 数据类型 变量 循环 ​编辑 函数 条件控制 四、OpenResty 1、初始OpenResty 2、Open…

Java 定时任务详解

文章目录单机定时任务技术选型TimerScheduledExecutorServiceSpring Task时间轮分布式定时任务技术选型QuartzElastic-JobXXL-JOB单机定时任务技术选型 Timer java.util.Timer是 JDK 1.3 开始就已经支持的一种定时任务的实现方式。 Timer 内部使用一个叫做 TaskQueue 的类存…

在GCP的Kubernetes上安装dapr

1 简介 我们之前使用了dapr的本地托管模式&#xff0c;但在生产中我们一般使用Kubernetes托管&#xff0c;本文介绍如何在GKE(GCP Kubernetes)安装dapr。 相关文章&#xff1a; dapr本地托管的服务调用体验与Java SDK的Spring Boot整合 dapr入门与本地托管模式尝试 2 安装…

STM32开发(2)----CubeMX的安装和使用

CubeMX的安装和使用前言一、CubeMX简介二、软件安装二、软件使用HSE 和 LSE 时钟源设置时钟树配置功能引脚配置配置 Debug 选项生成工程源码总结前言 本章对STM32CubeMX的安装和使用做简单介绍 一、CubeMX简介 STM32CubeMX是一种图形化工具&#xff0c;它允许非常简单地配置…

C++:指针

目录 1.指针 1.1指针三要素&#xff1a; 1.2修饰结构体struct 1.3 Pointers of Pointers 1.4constant修饰 pointer 2.指针和数组 2.1.数组的地址是连续的 2.2pointer arithmetic:指针的代数运算 2.3指针和数组的不同 3.内存分配&#xff1a; 1.指针 1.1指针三要素…