首页 > 数据库技术 > 详细

springboot集成mybatis后密码正确但数据库连接失败是怎么回事

时间:2021-07-13 17:26:34      阅读:25      评论:0      收藏:0      [点我收藏+]

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开头的密码)

springboot集成mybatis后密码正确但数据库连接失败是怎么回事

原文:https://www.cnblogs.com/lsm-boke/p/15006669.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!