前言:
最近趁着疫情有空在家里办公,把最近的一个项目概括出来。从两个方面出发。一个是新学到的功能,一个是遇到的错误。以天为周期进行统计,希望自己可以坚持把这个项目做完。
这个项目已经基本搭好。之前遇到过eureka启动不起来的问题,昨天解决了SpringBoot+Mysql自动注入Mapper文件的问题。今天解决了一个数据库链接的问题。
格式要求如下:
Time:2020-02-20
ErrorMsg:
(尽量摘抄关键信息)
HikariPool-1 - Exception during pool initialization.
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
定位问题思路回溯:
首先可以确定,数据库链接设定是正确的,密码和用户名可以正常链接到数据库,IDEA这边测试是success。但是数据库链接提示拒绝这个用户访问,需要使用密码。密码已经给出的。但是在查看配置项(yml类型文件)的时候,发现password对应的是纯数字,尝试在密码上加上双引号,重启项目,报错解决。
Time:2020-02-19
ErrorMsg:
Error creating bean with name 'sqlSessionFactory' defined in class path resource
Factory method 'sqlSessionFactory' threw exception; nested exception is org.apache.ibatis.type.TypeException:
The alias 'BeanName' is already mapped to the value '*.BeanName'.
定位问题思路回溯:
ps:BeanName 和*.BeanName分别代指报错的Bean和Bean的路径。
首先,这个报错非常迷惑解决问题思路,google和百度的结果都指向SpringBoot和Mybatis版本有冲突,但是我检查我的配置发现没有问题,然后在SpringBootApplicatio上添加注解也是无果。然后详细的解读报错日志,发现就是无法查到BeanMapper报错来的异常。怀疑是配的路径不对,然后回归项目中发现
mybatis:
type-aliases-package:
此配置项没有到达Mapper层,而是Mapper的上层。将此配置项制定到Mapper接口这一层,重启项目,报错解决。
造成这个原因的是我这个属于聚合项目。我为了区分服务之间,对路径进行了多层划分,造成在配置的时候少配置了一层。然后导致报错也比较缺失目的性,只能通过日志来倒推。