首页 > 数据库 >SpringBoot利用MyBatis连接Mysql数据库时常见启动报错

SpringBoot利用MyBatis连接Mysql数据库时常见启动报错

时间:2024-07-22 10:58:19浏览次数:15  
标签:Mapper SpringBoot Dao Controller 报错 Mysql 解决 注解

目录

报错情况

报错情况一:​编辑

报错情况二:

解决步骤

一、解决命名问题

1.mapper层的id是否和Dao层的方法名字相同

2.检查namespace与Dao层的文件地址相同

二、解决注解问题

1.检查Controller层的注解是否正确和完整

2.Dao层或者Mapper层的注解

3.pojo层:实体类层Data注解(用来替代set和get方法)

4.Service层的注解

三、解决pom.xml依赖包版本问题

*四、重构项目


报错情况

报错情况一:
报错情况二:

 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.mu.springboot.dao.PersonMapper.getAllPerson] with root cause.

这个报错情况是在用MyBatis连接Mysql数据库时的报错,网上也给了多种解决方案,也问了AI,后面询问我的老师才把问题解决,现在我把网上说的和老师说的做一个整合,让大家参考:

AI是这样说的:

这里穿插一些各层对应的基本注解情况:

启动类:(注意启动类位置不要错,与同包下的子包同级)
@SpringBootApplication
@MapperScan(“*****”)

Controller层:
@Controller(等价于以前的@Controller+@ResponseBody)
@Autowired(注入service层接口)

Service层:(实现类,接口加@Mapper或者直接在主类加一个:@MapperScan(“****”))
@Service(交给spring容器管理)

Mapper层
@Mapper或者直接在主类加一个@MapperScan(“****”))

可以按照以下解决步骤操作:

解决步骤

一、解决命名问题

        1.mapper层的id是否和Dao层的方法名字相同

        注意:不要把方法名后面的括号加进去

<select id="getAllPerson" resultType="org.mu.springboot.pojo.Person">
        select * from person
</select>
        2.检查namespace与Dao层的文件地址相同

        右键Dao层 > Copy Path/Reference... > Copy Reference

<mapper namespace=

标签:Mapper,SpringBoot,Dao,Controller,报错,Mysql,解决,注解
From: https://blog.csdn.net/qq_73830179/article/details/140600250

相关文章

  • 基于springboot的助农服务平台
    基于springboot的助农服务app介绍2024届软件工程毕业设计 该项目是基于springboot的助农App的设计及实现,主要实现了管理员,用户,商家三个端的设计,其中主要实现的功能有产品模块,订单模块,购物车模块,以及相关联的管理模块,秒杀等,帮助农民出售农作物,提高农业水平的发展,提高农民的收入,......
  • Vue3 - 详解实现网站使用企业微信二维码扫描登录,企业微信授权第三方网站接入企业微信
    前言如果您需要Vue2版本,请访问这篇文章。在vue3|nuxt3网站开发中,详解实现网页集成使用“企业微信扫一扫登录”功能,用户使用手机企业微信app扫描网站的登录二维码后,获取用户身份信息及号码并完成授权登录教程,新手小白完整流程及示例运行代码,支持多种企业微信二......
  • MySQL InnoDB事务隔离和并发控制面试题详解
    1.为什么MySQL使用B+树作为索引而不是B树?MySQL选择使用B+树作为索引主要有以下几个原因:减少IO次数,提高效率:B+树的所有数据都存储在叶子节点,非叶子节点只存储索引,树的高度较低,因此查找路径较短,减少了磁盘IO次数。查询效率更加稳定:由于数据仅存储在叶子节......
  • MySQL事务管理详解:特性、问题与解决方案
    什么是事务?事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。事务的四大特性原子性(Atomicity)原子性意味着事务中对数据库的一系列操作要......
  • MySQL体系结构与查询执行流程详解
    MySQL体系结构与查询执行过程详解MySQL是一个采用单进程多线程架构模式的关系型数据库管理系统。本文将详细介绍MySQL的体系结构及其查询语句的执行过程,并探讨性能优化的关键点。MySQL体系结构MySQL的架构为Client-Server架构。总体上,我们可以将MySQL的体系结......
  • Teamcenter AWC开发,代码报错Error: Cannot read properties of undefined (reading 'h
    1、调用setProperties接口报错awaitsoaSvc.post('Core-2010-09-DataManagement','setProperties',info)Error:Cannotreadpropertiesofundefined(reading'hasOwnProperty')atObject.createError(soaService.js:486:1)ateval......
  • Oracle——navicat连接Oracle数据库报错(12514)
    2024/07/221.问题描述2.解决办法3.参考材料1.问题描述与其他厂商做数据对接时,对方提供相关视图,我navicat连接Oracle数据库时报错,其报错代码如下:ORA-12514:TNS:listenerdoesnotcurrentlyknowofservicerequestedinconnectdescriptor2.解决办法对方提供实例为hisd......
  • MySQL 数据导出导入 脚本定时执行
    crontab安装yuminstall-ycrontab定时执行#添加定时任务crontab-e#编辑文件:每天早上6点执行06***sh/data1/mysql/backup/restore.sh#查看定时任务crontab-l全量导出脚本#!/bin/bashdata_dir="/data1/mysql/backup"if[!-d$data_dir];thenmkdi......
  • mysql-connector不会导入到pycharm中的脚本中
    我已经使用pip成功安装了mysql-connector。Installingcollectedpackages:mysql-connectorRunningsetup.pyinstallformysql-connector...doneSuccessfullyinstalledmysql-connector-2.1.6但是,在PyCharm中,当我有一个使用以下行的脚本时:importmysql-conn......
  • rabbitmq发送消息localdatetime报错:Java 8 date/time type `java.time.LocalDateTime`
    两种解决方案:通过全局配置LocalDateTime的序列化/***json序列化增强解决Jackson序列化不了Java8日期*/@BeanpublicMessageConvertermessageConverter(){ObjectMapperom=newObjectMapper();om.setVisibility(PropertyAccessor.ALL,JsonAut......