异常信息
nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.NullPointerException
异常触发
升级微服务框架
异常排查
对比升级前后Maven依赖是否缺失,发现升级后没有MySQL驱动。
[INFO] +- mysql:mysql-connector-java:jar:version
[INFO] \- org.elasticsearch.client:x-pack-transport:jar:5.6.0:compile
[INFO] \- org.elasticsearch.plugin:x-pack-api:jar:5.6.0:compile
[INFO] +- org.bouncycastle:bcprov-jdk15on:jar:1.60:compile
[INFO] +- com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:jar:r239:compile
[INFO] +- com.sun.mail:javax.mail:jar:1.6.1:compile
[INFO] +- javax.activation:activation:jar:1.1:compile
[INFO] +- org.elasticsearch.client:elasticsearch-rest-client-sniffer:jar:5.6.0:compile
[INFO] \- net.sf.supercsv:super-csv:jar:2.4.0:compile
添完驱动后,功能恢复正常。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>version</version>
</dependency>
总结
该类异常两种处理思路,配置注解缺失,驱动缺失。对于升级框架场景,偏向于依赖缺失。