mybatis框架相关问题总结(本地笔记搬运)

1、背景

2、运行启动问题

问题一

运行spring boot项目时报错:‘factoryBeanObjectType‘: java.lang.String

解决一

版本问题,springframework版本和mybatis/mybatis-plus版本不兼容。现spring-boot使用3.3.0版本,mybatis-plus使用3.5.7版本(或mybatis使用3.0.3版本),暂无其他兼容性问题。在这里插入图片描述在这里插入图片描述
在这里插入图片描述

问题二

运行spring boot项目时报错:Failed to determine a suitable driver class
在这里插入图片描述

解决二

在启动类上加上exclude排除自动配置数据源
@SpringBootApplication(exclude= DataSourceAutoConfiguration.class)
未解决

检查配置文件yml或properties
未发现错误的配置

最后解决了,解决方法是将mapper、service、controller等文件夹路径放在与xxxApplication启动类同一路径下,然后不再报错。(之前新建了一个J2EE文件夹,然后将mapper、service、controller文件夹放在了该里面,暂不知道错误原因)
在这里插入图片描述

问题三

运行报错:No qualifying bean of type 'com.example.mybatisdemo.mapper.xxxMapper'
在这里插入图片描述

解决三

原因是没有将Mapper类的bean注册到IOC中,解决方法是以下二选一:

  • 需要在相关Mapper类上加上@Mapper
    或者
  • 在启动类上加上mapper路径扫描:@MapperScan("com.example.mybatisdemo.mapper")
问题四

运行报错:IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
在这里插入图片描述

解决四

在启动类设置注解:@SpringBootApplication(exclude= DataSourceAutoConfiguration.class)导致的。此时要么删除后面的exclude,又或者手动配置数据源

3、xml映射文件问题

问题1

报错Cause: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0)

解决1

中只能包含一条sql语句(且不能有注释),例如删除红框部分的注释。
在这里插入图片描述

问题2:#{}和${}的区别
解决2

${}是Properties 文件的变量占位符,进行原样文本替换(sql拼接),可能导致sql注入,尽量避免使用。
#{}是sql语句的参数占位符,相当于原生jdbc流程中的preparedStatement,将#{}替换为?占位符,然后依次对占位符设置参数值。

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

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

相关文章

js处理数据(过滤)

复选框的值这里为true或false 选中为true,未选中为false 看看数据: type中的前面那些字母是固定的不会变 括号里面的不固定,那就把固定的作为前缀去过滤,后面怎么变都无所谓,当checkbox三个值中的某个或某些值为false时…

如何使用LiveTargetsFinder生成实时活动主机URL列表

关于LiveTargetsFinder LiveTargetsFinder是一款功能强大的实时活动主机生成工具,该工具可以为广大研究人员以自动化的形式生成可供分析和测试的实时活动主机URL列表,并通过MassDNS、Masscan和Nmap自动过滤出无法访问的主机。 我们只需要提供一个域名作…

视频融合共享平台LntonCVS视频监控管理平台技术方案详细介绍

LntonCVS国标视频综合管理平台是一款以视频为核心的智慧物联应用平台。它基于分布式、负载均衡等流媒体技术进行开发,提供广泛兼容、安全可靠、开放共享的视频综合服务。该平台具备多种功能,包括视频直播、录像、回放、检索、云存储、告警上报、语音对讲…

【数据分享】《中国改革年鉴》1989-2022

最近老有同学过来询问《中国经济体制改革年鉴》、《中国改革年鉴》这两本数据的关系以及怎么获取这两本本数据。今天就在这里给大家分享一下这三本数据的具体情况。 《中国改革年鉴》由国家发展和改革委员会主管,中国经济体制改革研究会主办,中国经济体制改革杂志社编辑出版,是…

大数据存储技术笔记

目录 大数据的特性 HDFS 读流程的基本步骤 HDFS 写流程的基本步骤 Mapreduce的执行过程 MapReduce 中 combiner 作用 hadoop 调度器及其工作方法 Hive 中内部表与外部表区别(创建删除角度) Hadoop 的 2 个主要组件及其功能 Hadoop MapReduce 的工作流程 正常工作的 ha…

Jmeter性能 之 “查看结果树” 界面功能介绍

前言 查看结果树 显示所有请求响应的树,通过它可以查看任何请求的响应。除了显示响应之外,还可以查看获取响应所花费的时间以及一些响应代码。需要通过"查看结果树"来查看服务器处理请求之后的返回结果,分析是否存在问题 注意&am…

VoIP Hopper一键分析VoIP 网络信息(KALI工具系列二十九)

目录 1、KALI LINUX 简介 2、VoIP Hopper工具简介 3、信息收集 3.1 目标主机IP 3.2kali的IP 4、操作实例 4.1 VLAN 跳跃攻击 4.2 指定MAC地址 4.3 设置参数 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版 ,广泛用于网络…

【深度学习】GPT1,提高语言理解的生成预训练方法

论文: https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf 文章目录 提高语言理解的生成预训练方法摘要引言相关工作自然语言处理的半监督学习无监督预训练辅助训练目标 框架无监督预训练有…

VMware Workstation安装Windows Server2019系统详细操作步骤

虚拟机版本 VMware Workstation 16 Prp 16.2.5 build-20904516 实现操作 创建虚拟机 创建新的虚拟机 自定义->下一步 默认即可,下一步 稍后安装操作系统->下一步 按照图下所示选择好系统->下一步 设置好虚拟机名称和位置->下一步 默认即可&#xff0…

大数据学习-环境准备

VMware 部分 网络设置 下载好 CentOS 7 的镜像文件 修改 VMware 的网络 把子网 ip 修改为 192.168.88.0,然后点击 NAT 设置,修改网关 IP 为 192.168.88.2 之后就确定即可 虚拟机安装 选择镜像文件,使用 VMware 的典型安装方法即可&#…

jQuery 基本操作

01-简介 jQuery 是一个功能丰富且广泛使用的 JavaScript 库,它简化了 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作。jQuery 通过其易用的 API,使复杂的 JavaScript 编程任务变得更加简单,并且兼容各种浏览器。 1、jQuery特点 简化 DOM …

智慧工厂监控可视化解决方案(160页WORD)

方案介绍: 本智慧工厂监控可视化解决方案通过集成先进的物联网和大数据技术,为制造业企业提供了全面的数字化转型支持。通过实时监控、数据分析、可视化展示等功能,帮助企业提升生产效率、降低运营成本、优化产品质量和能源利用率&#xff0…

设计模式(三)代理模式

目录 一、什么是代理模式 二、静态代理 1、定义 2、代码 2.1、接口 2.2、被代理对象 2.3、代理对象 2.4、测试 三、动态代理 1、定义 2、代码 2.1、接口 2.2、目标对象 2.3、代理对象 2.4、测试 一、什么是代理模式 代理模式(Proxy Pattern)是一种结构性模式。代理模…

注塑件检测视觉检测中可能遇到的外观缺陷

机器视觉检测注塑件不良特征有哪些?按照检测需求一般分为两类:外观缺陷和尺寸缺陷。但由于注塑件的工艺特点及原材料特性,注塑件外观缺陷在生产过程中出现的概率于频率远远大于尺寸缺陷。 注塑件检测视觉检测中可能遇到的外观缺陷 1、色差&a…

CyberBattleSim-(内网自动化渗透)研究分析

01 背景知识介绍 CyberBattleSim介绍 CyberBattleSim是一款微软365 Defender团队开源的人工智能攻防对抗模拟工具,来源于微软的一个实验性研究项目。该项目专注于对网络攻击入侵后横向移动阶段进行威胁建模,用于研究在模拟抽象企业网络环境中运行的自动…

深入研究websocket直播中signature这个参数怎么来的,模拟自己生成一个

上一节课我们已经找到了生成signature这个字段的代码位置,就是这个B函数,嗯......听起来好像有点奇怪,但是它确实叫B啊,笑死。不管了,看一下里面的逻辑是啥。 注意e参数的内容是: {"app_name":…

Java基础之练习(2)

需求: 键盘录入一个字符串,使用程序实现在控制台遍历该字符串 package String;import java.util.Scanner;public class StringDemo5 {public static void main(String[] args) {//录入一个字符串Scanner sc new Scanner(System.in);System.out.println("请输入一个字符串…

vue3 antdv RadioButton默认值选择问题处理

1、先上官方文档&#xff1a; Ant Design Vue — An enterprise-class UI components based on Ant Design and Vue.js 官方代码&#xff1a; <template><div><div><a-radio-group v-model:value"value1"><a-radio-button value"a…

网络编程5----初识http

1.1 请求和响应的格式 http协议和前边学过的传输层、网络层协议不同&#xff0c;它是“一问一答”形式的&#xff0c;所以要分为请求和响应两部分看待&#xff0c;同时&#xff0c;请求和响应的格式是不同的&#xff0c;我们来具体介绍一下。 1.1.1 请求 在介绍请求之前&…

助力数据跨境,最新政策解读与应用实践分享

6月13日&#xff0c;VERYCLOUD睿鸿股份联合深数所企业数据合规服务南山工作站、亚马逊云科技&#xff0c;在深圳南山区共同主办了一场关于《数据出境合规之路——法规解析与实践探索》研讨会。 VERYCLOUD睿鸿股份是南山大数据产业协会的副会长单位。南山大数据产业协会作为深圳…