SpringBoot 启动数据库错误

/ docker+kubernetes微服务容器化实战问题解决 / 0 条评论 / 274浏览

最近在看慕课网上的Docker+Kubernetes(k8s)微服务容器化实战, 在微服务搭建过程中, 由于老师的一些代码已经过去了一年多了, 很多内容都不适用于现在的版本了, 一路踩坑过来, 今天在redis上面踩了一个坑才走出来, 又踩了另一个MySQL的坑. 在此记录一下解决过程.

错误详情

在下方的错误日志, 最后一行SQLErrorCodesFactory抛出了一个异常, 异常的大致意思就是不知道数据库类型. 然后程序就停在这里了. 导致其他的微服务无法调用, 然后超时了.

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.5.3.RELEASE)

2019-04-10 17:22:13.197  INFO 20916 --- [           main] top.imyzt.user.ServiceApplication        : Starting ServiceApplication on DESKTOP-O8GDJEI with PID 20916 (D:\dev\imyzt\micro-service\user-thrift-service\target\classes started by n-tech in D:\dev\imyzt\micro-service)
2019-04-10 17:22:13.201  INFO 20916 --- [           main] top.imyzt.user.ServiceApplication        : No active profile set, falling back to default profiles: default
2019-04-10 17:22:13.247  INFO 20916 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@71e9ebae: startup date [Wed Apr 10 17:22:13 CST 2019]; root of context hierarchy
2019-04-10 17:22:32.354  INFO 20916 --- [       Thread-4] o.s.b.f.xml.XmlBeanDefinitionReader      : Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
2019-04-10 17:22:32.410  INFO 20916 --- [       Thread-4] o.s.jdbc.support.SQLErrorCodesFactory    : SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]

解决方法

通过Google, 出现此问题多为数据库字段和SQL或dao中的不一样造成的.
原解答: http://www.zhimengzhe.com/shujuku/Oracle/30519.html, 如果出现了此类问题, 先在数据库认真排查一下数据库字段是否一致.
我在排查的过程中是因为我将 TeacherDTO 对应 数据库pe_teacherstars 错写成了 starts, 造成了数据库一直报错, 导致整个服务链路抛异常.

成功后查询课程列表的结果