springboot集成mybatis后密码正确但数据库连接失败是怎么回事
springboot集成mybatis后数据库连接失败
问题描述:
1、datasource配置:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///testa
username: root
password: 0117
mybatis:
mapper-locations: classpath:mybatis/mapper/*.xml
type-aliases-package: com.offcn.entity
configuration:
map-underscore-to-camel-case: true
2、报错信息:
3、分析问题
根据报错提示,数据库密码存在问题,仔细检查密码无误。
仔细检查代码:
(1)entity实例化对象名称和数据库表名称一致
(2)mapper和mapper.xml代码无误,映射正确。
(3)service层调用和业务实现无误
(4)controller代码无误,已使用@ResponseBody将对象转化为JSON格式。
(5)pom引入的各种依赖的版本导入正常且版本不存在冲突或存在过高、过低的问题
分析一遍之后,发现代码没有问题,出问题的应该还是数据库连接的地方。
再次检查数据库,cmd进入命令行检查数据库密码:
mysql -uroot -p0117
成功连接数据库,说明密码确实不存在问题。
尝试修改yml文件中的数据库连接密码:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///testa
username: root
password: 0117sqdf
#type: com.alibaba.druid.pool.DruidDataSource
mybatis:
mapper-locations: classpath:mybatis/mapper/*.xml
type-aliases-package: com.study.entity
configuration:
map-underscore-to-camel-case: true
发现提示的错误一样:
看来问题确实出在yml数据库连接密码这里。
解决方法
查询资料发现,yml解析的时候,0开头的数字,会把它当成8进制数据解析,所以会提示密码错误.
解决方法:要么用'0117'(前提是密码就是0117),要么改密码(不用数字0开头的密码)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架