当前位置: 首页 > article >正文

最全解决方案:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.

最全解决方案:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.

📢CSDN博客主页:低山高梧桐-致力于做最优质的内容
📢如果涉及到版权问题,烦请联系作者删除!
📢如果文章有谬误,烦请您指出斧正,作者致力于做最好的博客。
📢整合:低山高梧桐 首发于CSDN 欢迎点赞👍收藏⭐留言打扰📝

温馨提示各位:

一定要学会读控制台里的报错信息,能够起到事半功倍的效果!

首先需要检查数据库配置文件中的这几样有没有错误:

1、用户名以及密码

2、驱动名称

3、数据库的ip、端口号和数据库名称

4、数据库中有没有要操作的表

这里的检查要仔细,看一下有没有错字中文标点

如果不是这些问题,那可能是以下问题,还请逐个排查

一、yml等数据库配置文件重名

报错信息:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Access denied for user 'Y7000'@'localhost' (using password: YES)
### The error may exist in file [D:\从零开始\spring\bj-SpringStudy-Mybatis01\bj-SpringMybatis-01\target\classes\com\jcjava\mapper\UserMapper.xml]
### The error may involve com.jcjava.mapper.UserMapper.insertUser
### The error occurred while executing an update
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Access denied for user 'Y7000'@'localhost' (using password: YES)

yml中的配置名有冲突,但是概率较小,不推荐先尝试

统一将配置名添加jdbc.

既将原先的配置文件名称
在这里插入图片描述

改为下面的配置文件名称,统一添加上jdbc.
在这里插入图片描述

最后不要忘记在applicationContext.xml等文件中${}中的数据加上jdbc.

二、单元测试路径名称和实际项目中路径不一样

由于我是使用框架生成的代码,所以生成的路径和测试路径不一样

也就是图中这两个部分的文件树形结构要一致
在这里插入图片描述

否则会报错

三、SQL与映射相关

就这里就很多了,需要根据控制台的输出信息逐个排查

(一)可能是SQL语句本身写错了

(二)可能是mybatis的映射文件写错了

如题,结合控制台的输出信息,了解到是MyBatis的映射出现了问题

原博主是标签写错了

https://blog.csdn.net/2302_77182979/article/details/134674756

上面是原博主的链接,请移驾

(三)可能是MyBatis映射文件中映射结果写错了

原因分析
  1. SQL 语句写错了。此处SQl没问题。
  2. mapper配置文件中的结果集写错了,假如返回的结果集是多个JavaBean,那么resultType=”javaBean”, 例如:查询Department的List列表,resultType应该写成Department的全类名而不是java.util.List
错误示范:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wu.employee.mapper.IDepartmentMapper">
  <!-- 查看部门列表 -->
  <select id="getAllDepartment" resultType="java.util.List">
    SELECT * FROM  department 
  </select>

 </mapper>
正确代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wu.employee.mapper.IDepartmentMapper">
  <!-- 查看部门列表 -->
  <select id="getAllDepartment" resultType="com.wu.employee.beans.Department">
    SELECT * FROM  department 
  </select>

 </mapper>

上面的resultType的结果前后不一致

请移驾原博主的博文

https://blog.csdn.net/qq_32106647/article/details/79081278

(四)其他类型

其他的所有类型都基本和MyBatis映射文件有关

所以你需要检查包括但不限于:

1.参数&结果

2.标签

3.SQL本身

所以说,还是需要会读报错信息的,直接领先同辈10年

鸣谢&参考

https://www.cnblogs.com/-LilyBlog-/p/7670393.html
https://blog.csdn.net/weixin_50843918/article/details/130674960
https://blog.csdn.net/qq_32106647/article/details/79081278
https://blog.csdn.net/2302_77182979/article/details/134674756
https://blog.csdn.net/LJCC_c/article/details/111963923


http://www.kler.cn/a/448785.html

相关文章:

  • VSCode搭建Java开发环境 2024保姆级安装教程(Java环境搭建+VSCode安装+运行测试+背景图设置)
  • CNN回归-卷积神经网络(Convolutional Neural Network)
  • 模仿elementui的Table,实现思路
  • 网络安全概论——身份认证
  • Vulnhub靶场Nginx解析漏洞复现
  • Oracle 中间件 Webcenter Portal服务器环境搭建
  • 基于微信平台的文玩销售小程序ssm+论文源码调试讲解
  • Restaurants WebAPI(四)——Identity
  • 241221面经
  • powershell使用积累
  • 一起学Git【第一节:Git的安装】
  • Llama 3 模型系列解析(一)
  • 王佩丰24节Excel学习笔记——第十七讲:数据函数
  • HTML中的Vue3解析!
  • Ubuntu 安装实时内核指南
  • 接口测试Day-02-安装postman项目推送Gitee仓库
  • Git配置公钥步骤
  • workman服务端开发模式-应用开发-gateway长链接端工作原理
  • List反转的方法
  • SpringBoot01
  • LeetCode 704.二分查找
  • AI的进阶之路:从机器学习到深度学习的演变(三)
  • 前端调试实践
  • Android 蓝牙Bluedroid线程池设计思路介绍
  • 浅谈怎样系统的准备前端面试
  • 【珠江电缆】创新驱动质量升级,树立行业新标杆